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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python缩进错误「建议收藏」

    Python报错TabError:inconsistentuseoftabsandspacesinindentation平台Geany错误原因python的缩进符为四位空格,修改方法:Python报错:IndentationError:unindentdoesnotmatchanyouterindentationlevel依旧是缩进出现问题如图:缩进时四个空格一个不能少!!!…

    2022年4月7日
    62
  • Mysql错误1452 – Cannot add or update a child row: a foreign key constraint fails 原因及解决方法[通俗易懂]

    Mysql错误1452 – Cannot add or update a child row: a foreign key constraint fails 原因及解决方法[通俗易懂]报错的原因大概分为三种:原因一:添加的外键列与另一个表的唯一索引列(一般是主键)的数据类型不同原因二:要添加外键的表类型与另一个表的存储引擎是不是都为innodb引擎#查看表引擎法一:showcreatetable表名;法二:showtablestatusfrom数据库wherename=‘表名’;法三:useinformation_schema;selec…

    2022年6月15日
    56
  • container html css,splitcontainer「建议收藏」

    container html css,splitcontainer「建议收藏」怎么使用SplitContainer控件实现上下分隔您好,我来为您解C#如何使用SplitContainer控件实现上下分隔Orientation属性设置为Horizontal希望我的回答对你有帮助。c#splitContainer能把窗体分割成三部分或者更多…splitContainer能把窗体分割成三部分或者更多的部分吗?怎么操作?splitContainer控件单独使用只支…

    2022年7月18日
    14
  • 华为C语言编程规范(华为编程)

    “编写程序应该以人为本,计算机第二。”…

    2022年4月12日
    119
  • Ubuntu skills

    Ubuntu skills

    2021年5月5日
    135
  • Canny边缘检测及C++实现「建议收藏」

    Canny边缘检测及C++实现「建议收藏」Canny边缘检测算法是澳大利亚科学家JohnF.Canny在1986年提出来的,不得不提一下的是当年JohnCanny本人才28岁!到今天已经30年过去了,Canny算法仍然是图像边缘检测算法中最经典有效的算法之一。一起睹一下大家芳容:JohnCanny研究了最优边缘检测方法所需的特性,给出了评价边缘检测性能优劣的3个指标:1 好的信噪比,即将非边缘点判定为

    2022年5月30日
    41

发表回复

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

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