FarPoint Spread 基础知识

FarPoint Spread 基础知识1.获得当前行的行号,列号,总列数,总行数introwCount=fpSpread1.ActiveSheet.RowCount;intcolCount=fpSpread1.ActiveSheet.Columns.Count;intactiveRow=fpSpread1.Activ…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

1.获得当前行的行号,列号,总列数,总行数

                int rowCount = fpSpread1.ActiveSheet.RowCount;
                int colCount = fpSpread1.ActiveSheet.Columns.Count;
                int activeRow = fpSpread1.ActiveSheet.ActiveRowIndex;
                int activeCol = fpSpread1.ActiveSheet.ActiveColumnIndex;

2.设置单元格格式时候用 MultiColumnComboBoxCellType 是注意:只能用字符类型字段的选择。要想用数字字段选择的话须将数字类型转换为字符型即可。

ContractedBlock.gif
ExpandedBlockStart.gif
Code

  FarPoint.Win.Spread.CellType.MultiColumnComboBoxCellType mCombox = new FarPoint.Win.Spread.CellType.MultiColumnComboBoxCellType();
            mCombox.ColumnEditName 
= customerCode;
            mCombox.DataColumnName 
= customerCode;
            mCombox.ListWidth 
= 556;
            mCombox.MaxDrop 
= 8;
            mCombox.DataSourceList 
= dataset;

            fpSpread1.ActiveSheet.Columns[0].Label = customerCode;
            fpSpread1.ActiveSheet.Columns[
0].CellType = mCombox;

3.问题:当下拉mCombox 中的数据少时会出现空白单元格,目前还不知道咋回事!

4.增加和刪除行

      fpSpread1.ActiveSheet.Rows.Add(rowCount, rows);rowCount是添加行的起始位置,rows是添加的行數。

      fpSpread1.ActiveSheet.Rows.Remove(rowCount, rows);rowCount是刪除行的起始位置,rows刪除的行數。

5.

 if (fpSpread1.ActiveSheet.ActiveRow.Index == fpSpread1.ActiveSheet.RowCount – 1) //如果是到最后一行則增加一行
            {

                if (e.KeyCode == Keys.Down)
                {

                    DetailAdd();
                }
            }
            if (e.KeyCode == Keys.Delete)  //按delete鍵可刪除當前活動單元格內容
            {

                fpSpread1.ActiveSheet.ActiveCell.ResetValue();
            }
            if (e.KeyCode == Keys.Enter)  //按Enter鍵跳到下一單元格
            {

                int rowCount = fpSpread1.ActiveSheet.RowCount;
                int colCount = fpSpread1.ActiveSheet.Columns.Count;
                int activeRow = fpSpread1.ActiveSheet.ActiveRowIndex;
                int activeCol = fpSpread1.ActiveSheet.ActiveColumnIndex;
                if (activeCol != (colCount-1))
                {

                    fpSpread1.ActiveSheet.SetActiveCell(activeRow, activeCol + 1);
                }
                else if( activeRow != (rowCount – 1))
                {

                    fpSpread1.ActiveSheet.SetActiveCell(activeRow+1,0);
                }
            }

6.移除选择的多行

               int rowCount = fpSpread1.ActiveSheet.RowCount;
                for (int row = 0; row < rowCount; row++)   //移除選擇行
                {

                    if (fpSpread1.ActiveSheet.IsSelected(row, 1) == true)
                    { fpSpread1.ActiveSheet.Rows.Remove(row, 1); }
                }

7.剪切,复制,粘贴

            //剪切:
            FarPoint.Win.Spread.UndoRedo.ClipboardCutUndoAction cutAction = new        FarPoint.Win.Spread.UndoRedo.ClipboardCutUndoAction();
        fpSpread1.UndoManager.PerformUndoAction(cutAction);      
            //复制      
detail.ActiveSheet.ClipboardCopy();

            //粘贴
            FarPoint.Win.Spread.UndoRedo.ClipboardPasteUndoAction pasteAction = new FarPoint.Win.Spread.UndoRedo.ClipboardPasteUndoAction(ClipboardPasteOptions.All);
            detail.UndoManager.PerformUndoAction(pasteAction);

 

ContractedBlock.gif
ExpandedBlockStart.gif
Code

SheetView sv = fpSpread1.ActiveSheet;
      
if (sv == null)
        
return;
      
int activeRow = sv.ActiveRowIndex;
      
int activeColumn = sv.ActiveColumnIndex;
      
if (sender == menuCut) //剪切
      {

        FarPoint.Win.Spread.UndoRedo.ClipboardCutUndoAction cutAction 
= new FarPoint.Win.Spread.UndoRedo.ClipboardCutUndoAction();
        fpSpread1.UndoManager.PerformUndoAction(cutAction);
      }
      
else if (sender == menuCopy) //复制
      {

        sv.ClipboardCopy();
      }
      
else if (sender == menuPaste) //粘贴
      {

        FarPoint.Win.Spread.UndoRedo.ClipboardPasteUndoAction pasteAction 
= new FarPoint.Win.Spread.UndoRedo.ClipboardPasteUndoAction(ClipboardPasteOptions.All);
        fpSpread1.UndoManager.PerformUndoAction(pasteAction);
      }
      
else if (sender == menuInsertRow) //插入一行
      {

        sv.Rows.Add(activeRow, 
1);
      }
      
else if (sender == menuInsertColumn)//插入一列
      {

        sv.Columns.Add(activeColumn, 
1);
      }
      
else if (sender == menuRemoveRow)//删除一行
      {

        sv.Rows.Remove(activeRow, 
1);
      }
      
else if (sender == menuRemoveColumn)//删除一列
      {

        sv.Columns.Remove(activeColumn, 
1);
      }
      
else if (sender == menuClearContents) //清除内容
      {

        FarPoint.Win.Spread.UndoRedo.ClipboardCutUndoAction cutAction 
= new FarPoint.Win.Spread.UndoRedo.ClipboardCutUndoAction();
        fpSpread1.UndoManager.PerformUndoAction(cutAction);
      }

 8.撤销,恢复

ContractedBlock.gif
ExpandedBlockStart.gif
Code

//撤销
FarPoint.Win.Spread.InputMap im;
im 
= fpSpread1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenAncestorOfFocused);
im.Put(
new FarPoint.Win.Spread.Keystroke(Keys.U, Keys.None), FarPoint.Win.Spread.SpreadActions.Undo);
//恢复
FarPoint.Win.Spread.InputMap im;
im 
= fpSpread1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenAncestorOfFocused);
im.Put(
new FarPoint.Win.Spread.Keystroke(Keys.E, Keys.None), FarPoint.Win.Spread.SpreadActions.Redo);

 9.Find,Filter,Sort

ContractedBlock.gif
ExpandedBlockStart.gif
Code

//允许列排序
this.fpSpread1_Sheet1.Columns.Get(0).AllowAutoSort = true;
//允许列过滤
fpSpread1.ActiveSheet.Columns.Get(1).AllowAutoFilter = true;
//查找
fpSpread1.SearchWithDialogAdvanced(04Thistruetruefalsefalse00);

 

转载于:https://www.cnblogs.com/Tonyyang/archive/2008/09/04/1284102.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/230836.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • springMVC通过getBean()获取context.xml文件中定义的service接口类

    springMVC通过getBean()获取context.xml文件中定义的service接口类

    2021年7月16日
    66
  • mybatis log plugin 激活码(注册激活)[通俗易懂]

    (mybatis log plugin 激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月26日
    1.6K
  • Shell升级,/bin/bash版本号4.1到4.3

    Shell升级,/bin/bash版本号4.1到4.3

    2022年2月5日
    40
  • tomcat java_tomcat和maven的区别

    tomcat java_tomcat和maven的区别缓存什么是缓存[Cache]存在内存中的临时数据将用户经常查询的数据放在缓存(内存)中,用户去查询数据的时候就不用从磁盘上(关系型数据库数据文件)查询,从缓存中查询,从而提高查询效率,解决了高并发系统的性能问题。为什么使用缓存减少和数据库的数据交换次数,较少系统开销,提高系统效率什么样的数据库能使用缓存经常查询并且不经常改变的数据Mybatis缓存MyBatis 内置了一个强大的事务性查询缓存机制,它可以非常方便地配置和定制。默认情况下,只启用了本地的会话缓存,它仅

    2022年8月8日
    6
  • Windows Longhorn_Windows优化

    Windows Longhorn_Windows优化一、系统优化设置。1、删除Windows强加的附件:1)用记事本NOTEPAD修改/winnt/inf/sysoc.inf,用查找/替换功能,在查找框中输入,hide(一个英文逗号紧跟hide),将“替换为”框设为空。并选全部替换,这样,就把所有的,hide都去掉了,2)存盘退出,3)再运行“添加-删除程序”,就会看见“添加/删除Windows组件”中多出了好几个选项;这样你可以删

    2022年10月21日
    4
  • Python & 机器学习之项目实践

    Python & 机器学习之项目实践

    2021年11月21日
    47

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号