• Spread JS 随笔四 相关用法


    1. 获取活动单元格的行索引和列索引

    int rowindex = fpSpread1.ActiveSheet.ActiveRowIndex;

    int columnindex = fpSpread1.ActiveSheet.ActiveColumnIndex;

    2. 列、单元格锁定

    this.fpSpread1.ActiveSheet.Columns[0,4].Locked = true;//锁定列范围

    this.fpSpread1.ActiveSheet.Columns[0].Locked = true;//锁定单列

    也可以直接通过Spread 设计器进行编辑设置

    3. 下拉框一般只在编辑模式下显示

    操作方式是选中spread---buttonDrawMode---选中Always Edit Button

    4. Spread 去掉网格线

    5.有时候会碰到值不能为NULL的问题,参数名:

    key

    解决方式就是将数据绑定到spread上,而不是数据表上。

    6.设置Spread的只读模式

    frm.fpSpread1.ActiveSheet.OperationMode = FarPoint.Win.Spread.OperationMode.ReadOnly;

    7.列不用数字表示法

    通常的形式都是写成数字表示的形式

    fpSpread1_Sheet1.Cells[i,7].Text;

    但是为了防止程序过多的变化,可以写成

    fpSpread1_Sheet1.Cells[i, fpSpread1_Sheet1.Columns["WLBM"].Index].Text;

    但是前提条件是设置列名的时候都要大写

    8.Spread 中通常数字零值不显示

    选择sheet,将DisplayZero 设置成false

    9.通常情况下都要将Spread 设置成自适应的形式

    10.Spread 对行、列、行头、列头数量以及行头、列头的显示情况设置

    如果需要对某一列进行列头的编辑,首先选中一列,然后右键选择“Headers?”,进入编辑模式,可以进行列头文字的编辑,行、列的合并等操作。

    11.通常Spread 模式一般都是全局绑定的模式,这样的话,label 就是列的名字,tag就是与数据库相对应的字段,这样不用设置顺序,程序会根据tag自动的绑定

    12.对表单的操作—对行,列操作

    (1)添加行

    fpSpread1.Sheets[0].Rows[0].Add(); // 在第1行之前插入一行

    fpSpread1.Sheets[0].Rows.Add(0, 1);

    fpSpread1.Sheets[0].AddRows(0, 1);

    (2)删除行

    fpSpread1.Sheets[0].Rows[0].Remove();// 删除第1行

    fpSpread1.Sheets[0].Rows.Remove(0, 1);

    fpSpread1.Sheets[0].RemoveRows(0, 1);

    (3)隐藏行

    fpSpread1.Sheets[0].Rows[0].Visible = false;

    fpSpread1.Sheets[0].SetRowVisible(0, false);

    (4)获取行数

    int rowCount = fpSpread1.Sheets[0].Rows.Count; // 获取行数

    int rowCount = fpSpread1.Sheets[0].RowCount;

    对列的操作和对行的操作一样。 // 获取行数 int rowCount = fpSpread1.Sheets[0].NonEmptyRowCount;// 获取非空行数

    13.绑定数据时,复选框为1时选中,0时不选中,并且0或1必须为数值类型。如果不是数字型,可能选中时是true,不选中是false,特殊情况特殊对待。

    14.Spread 中常用事件的总结

    (1) 单元格编辑结束,焦点离开或者按回车键时 比如:你要判断当前单元格输入内容是否合法。 private void fpSpread1_EditModeOff(object sender, System.EventArgs e)

    (2) 单元格得到焦点时触发

    private void fpSpread1_EnterCell(object sender, FarPoint.Win.Spread.EnterCellEventArgs e)

    (3) 编辑单元格时触发,单元格内容发生改变

    private void fpSpread1_EditChange(object sender, FarPoint.Win.Spread.EditorNotifyEventArgs e)

    (4) 编辑模式开始时触发

    private void fpSpread1_EditModeOn(object sender, System.EventArgs e)

    (5) 单元格失去焦点时触发

    private void fpSpread1_LeaveCell(object sender, FarPoint.Win.Spread.LeaveCellEventArgs e)

    (6) 双击Spread时触发 一般用来付值,比如把选中行内容传给其他控件

    private void fpSpread1_CellDoubleClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e)

    (7)单击Spread时触发 一般用来改变选中行的颜色

    private void fpSpread1_CellClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e)

    (8)一般用来检测输入内容是否合法,比如检测输入的内容是否是数字

    private void fpSpread1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)

    (9)用来捕捉按钮列等属于按钮范畴的事件

    private void spdSetList_ButtonClicked(object sender, FarPoint.Win.Spread.EditorNotifyEventArgs e)

    (10) Spread 中事件的触发顺序是

    _Enter _EnterCell _EditModeOn _EditChange _EditModeOff _LeaveCell

    15.通常日期格式样式比较多,可以对某一列设置日期格式,可以选择Spread中带有的,也可以用户自定义。

    比如2014-09-09 设置成yyyy-MM-dd,2014-09-09 12:25:20 设置成yyyy-MM-dd H:mm:ss,这个经常用到

    16.设置公式

    可以对列进行直接设置

    也可以通过程序设置

    fpSpread1_Sheet1.Cells[i, 10].Formula = "F" + (i+1).ToString() + "*J" + (i+1).ToString();

    18.如果Spread中某一列设置成某一列设置成数值型的,编辑时双击会出现一个计算器,将CellType 下面的EnableSubEditor 设置成false就可以了,日期格式的同理。

    19.Spread中一整列都是下拉框的形式;fpSpread1_Sheet1.Cells[i;fpSpread1_Sheet1.Cells[i;比如是否,下拉框0表示“否”;那么fpSpread1_Sheet1.Cells;

    20.往数据集的绑定与不绑定;introwCont=fpSpread1_She;fpSpread1_Sheet1.AddUnbo;

    21.Spread中一整列都是下拉框的形式

    fpSpread1_Sheet1.Cells[i, j].Text 表示的文本值

    fpSpread1_Sheet1.Cells[i, j].Value 表示的实际值

    比如 是否,下拉框 0 表示“否”

    那么fpSpread1_Sheet1.Cells[i, j].Text 就是否,fpSpread1_Sheet1.Cells[i, j].Value就是0

    20.往数据集的绑定与不绑定

    int rowCont = fpSpread1_Sheet1.RowCount;

    fpSpread1_Sheet1.AddUnboundRows(rowCont, 1); --表示不往数据集上绑定 fpSpread1_Sheet1.AddRowToDataSource(rowCont, true);表示往数据集上绑定

    21.spread 6.0 与spread 7.0 绑定排序区别

    spread 6.0绑定排序—通常用视图

    DataView DT = new DataView(dtWl, "", "gcxmbm,wlbm", DataViewRowState.CurrentRows);

    fpSpread1.ActiveSheet.DataSource = DT;

    spread 7.0绑定排序—直接排序

    dtWl.DefaultView.Sort = "gcxmbm,wlbm";

  • 相关阅读:
    将指定文件夹下所有图片转换成base64并返回数组
    SQL技巧
    yii 进行事务操作是不可以在一条sql里边放多条sql
    yii 直接执行sql
    按照特定方法排序
    表名为变量时的语法
    如何添加 actions
    触发器原理
    codeCeption 调试方法
    最长不下降子序列(LIS)
  • 原文地址:https://www.cnblogs.com/condon/p/6876672.html
Copyright © 2020-2023  润新知