Spread 常用属性

int row=e.Row;
int count=e.Count;
或者:
int rowindex = fpSpread1.ActiveSheet.ActiveRowIndex;
int columnindex = fpSpread1.ActiveSheet.ActiveColumnIndex;

2 单击一行变颜色。

private void spdResult_CellClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e)
  {
   //单击Spread列头时,什么也不处理

   if(!e.ColumnHeader)
   {
    if(spdResult.Sheets[0].Rows.Count!=0)
    {
     for(int i=0;i<spdResult.Sheets[0].Rows.Count;i++)
     {
      spdResult.Sheets[0].Rows[i].BackColor=System.Drawing.Color.White;
     }
     int row=e.Row;
     spdResult.Sheets[0].Rows[row].BackColor=System.Drawing.Color.FromArgb(((System.Byte)(192)), ((System.Byte)(255)), ((System.Byte)(255)));
    }
   }
  }

3 将Spread的单元格内容付值给一控件的Text

txtItemCD.Text = spdResult.Sheets[0].Cells[row,count].Text;

4 给Spread的指定单元格付值。

spdResult.Sheets[0].Cells[row,count].Text = txtItemCD.Text;

5 通过上下光标键改变选中行颜色

private void spdResult_LeaveCell(object sender, FarPoint.Win.Spread.LeaveCellEventArgs e)
  {
   //首先检查spread行数是否为0
   if(spdResult.Sheets[0].Rows.Count==0)
   {
    return;
   }
   else
   {
    for(int i=0;i<spdResult.Sheets[0].Rows.Count;i++)
    {
     spdResult.Sheets[0].Rows[i].BackColor=System.Drawing.Color.White;
    }
    int row=e.NewRow;
    spdResult.Sheets[0].Rows[row].BackColor=System.Drawing.Color.FromArgb(((System.Byte)(192)), ((System.Byte)(255)), ((System.Byte)(255)));
   }
  }

6 下拉列表加载数据(ComBobox) 
・ 列表追加(适合于数据量少的情况)

FarPoint.Win.Spread.CellType.ComboBoxCellType cb4 = new FarPoint.Win.Spread.CellType.ComboBoxCellType();
   cb4.ListWidth = 96;
   cb4.Editable = true;
   cb4.MaxDrop = 10;
   cb4.MaxLength = 1;
   string[] priceTagList = new string[]{" 0 无"," 1 有"};
   cb4.Items = priceTagList;
   this.spdSetList.ActiveSheet.Columns[4].CellType = cb4;

・ 从数据库追加

FarPoint.Win.Spread.CellType.ComboBoxCellType cb12 = new FarPoint.Win.Spread.CellType.ComboBoxCellType();
   cb12.ListWidth = 150;
   cb12.Editable = true;
   cb12.MaxDrop = 10;
   cb12.MaxLength = 8;

//dsEmployee:数据集Dataset,已经加载好数据的Dataset
   string[] employeeList = DataSetToArray(dsEmployee, 8);
   cb12.Items = employeeList;
   this.spdSetList.ActiveSheet.Columns[12].CellType = cb12;

private string[] DataSetToArray(DataSet ds, int BlankNum)
  {
   int i = 0;
   int NumLength = 0;
   string[] returnArray = new string[ds.Tables[0].Rows.Count];

DataRow foundRows = ds.Tables[0].Rows[ds.Tables[0].Rows.Count -1];
   NumLength = foundRows[0].ToString().Length;

foreach(DataRow dr in ds.Tables[0].Rows)
   {
    returnArray[i] = dr[0].ToString().PadLeft(BlankNum, ' ') + " " + dr[1].ToString();
    i++;
   }
   return returnArray;
  }

7 Focus移动(跨列)

public frmProdSetDetail()
  {
   InitializeComponent();
   IsMod = flag;

FarPoint.Win.Spread.InputMap im;
   im = spdResult.GetInputMap(InputMapMode.WhenFocused);
   im.Put(new Keystroke(Keys.Enter,Keys.None),SpreadActions.MoveToNextColumnWrap);
   im.Put(new Keystroke(Keys.Tab,Keys.None),SpreadActions.MoveToNextColumnWrap);

im = spdResult.GetInputMap(InputMapMode.WhenAncestorOfFocused);
   im.Put(new Keystroke(Keys.Enter,Keys.None),SpreadActions.MoveToNextColumnWrap);
   im.Put(new Keystroke(Keys.Tab,Keys.None),SpreadActions.MoveToNextColumnWrap);
  }

指定单元格获得焦点

this.fpSpread1.ActiveSheet.SetActiveCell(row,column);

8 事件触发顺序

_Enter    _EnterCell      _EditModeOn      _EditChange      _EditModeOff      _LeaveCell

9 用隐藏列保存原始数据

10 设定列类型

private void SpreadSetting()
  {
   string[] ProductHandleTypeList = new string[]{" ","1 販売/仕入","2 販売","3 仕入"};
  
   FarPoint.Win.Spread.CellType.ComboBoxCellType cb3 = new FarPoint.Win.Spread.CellType.ComboBoxCellType();
   cb3.ListWidth = 100;
   cb3.Editable = true;
   cb3.MaxDrop = 5;
   cb3.MaxLength = 1;
   cb3.Items = ProductHandleTypeList;

this.spdResult.ActiveSheet.Columns[5].CellType = cb3;
 
   //设置一般数据型

FarPoint.Win.Spread.CellType.NumberCellType nmbrcell = new FarPoint.Win.Spread.CellType.NumberCellType();
   nmbrcell.ShowSeparator = false;
   nmbrcell.DecimalPlaces = 0;
   nmbrcell.LeadingZero = FarPoint.Win.Spread.CellType.LeadingZero.UseRegional;
   nmbrcell.MaximumValue = 9999;
   nmbrcell.MinimumValue = 1;
   this.spdResult.ActiveSheet.Columns[13].CellType = nmbrcell;

//设置JAN

FarPoint.Win.Spread.CellType.NumberCellType nmbrcellJan = new FarPoint.Win.Spread.CellType.NumberCellType();
   nmbrcellJan.ShowSeparator = false;
   nmbrcellJan.DecimalPlaces = 0;
   nmbrcellJan.LeadingZero = FarPoint.Win.Spread.CellType.LeadingZero.UseRegional;
   nmbrcellJan.MaximumValue = 9999999999999;
   nmbrcellJan.MinimumValue = 0;
   this.fpSpread1.ActiveSheet.Columns[0].CellType = nmbrcellJan;
   this.fpSpread1.ActiveSheet.Columns[0].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Left;

//

FarPoint.Win.Spread.CellType.NumberCellType numberCellType1 = new FarPoint.Win.Spread.CellType.NumberCellType();
   numberCellType1.ShowSeparator = true;
   numberCellType1.DecimalPlaces = 0;
   numberCellType1.LeadingZero = FarPoint.Win.Spread.CellType.LeadingZero.UseRegional;
   numberCellType1.MaximumValue = 99999999;
   numberCellType1.MinimumValue = 0;
   this.spdResult.ActiveSheet.Columns[20].CellType = numberCellType1;

//%数的设定

FarPoint.Win.Spread.CellType.PercentCellType prctcell = new FarPoint.Win.Spread.CellType.PercentCellType();
   prctcell.PercentSign = "%";
   this.spdResult.ActiveSheet.Columns[33].CellType = prctcell;
   
   //日期的设定

FarPoint.Win.Spread.CellType.DateTimeCellType datecell = new FarPoint.Win.Spread.CellType.DateTimeCellType();
   datecell.MaximumDate = new System.DateTime(2050, 12, 31, 0, 0, 0, 0);
   datecell.MinimumDate = new System.DateTime(2001, 1, 1, 0, 0, 0, 0);

this.spdResult.ActiveSheet.Columns[27,30].CellType = datecell;
 }

11 列、单元格锁定

//锁定

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

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

//解锁

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

this.fpSpread1.ActiveSheet.Columns[0].Locked = false;

12 Spread追加行、列

//追加行

int rowindex = this.fpSpread1.ActiveSheet.Rows.Count;
   this.fpSpread1.ActiveSheet.Rows.Add(rowindex,1);

//追加列

int columnindex = this.fpSpread1.ActiveSheet.Columns.Count;
   this.fpSpread1.ActiveSheet.Columns.Add(columnindex,1);

13 行、列删除

//删除行

this.fpSpread1.ActiveSheet.Rows.Remove(startindex,count);

//追加列

this.fpSpread1.ActiveSheet.Columns.Remove(startindex,count);

14 button事件

private void spdSetList_ButtonClicked(object sender, FarPoint.Win.Spread.EditorNotifyEventArgs e)
  {
   int rowCount = e.Row;
   int columnCount = e.Column;

if (e.Column == 16)
   {
    if (message.ShowMessage("ConfirmDelete", "選択したライン") == DialogResult.Yes)
    {
     string DeleteTag = this.spdSetList.ActiveSheet.Cells[rowCount, columnCount+1].Text.Trim();
     if (DeleteTag == "0" || DeleteTag == "2")
     {
      this.spdSetList.ActiveSheet.Cells[rowCount, columnCount+1].Text = "3";
      this.spdSetList.ActiveSheet.Cells[rowCount,columnCount+1].BackColor = clrWater;
      this.spdSetList.ActiveSheet.Rows[rowCount].Visible = false;
     }
     else if (DeleteTag == "1")
     {
      this.spdSetList.ActiveSheet.Rows[rowCount].Remove();
     }
    }
   }
  }

Spread 常用属性相关推荐

  1. Farpoint Spread 常用属性

    1 取得当前行号.列号. int row=e.Row;  int count=e.Count; 或者: int rowindex = fpSpread1.ActiveSheet.ActiveRowIn ...

  2. 2021-11-15 入门前端VScode必装的常用插件, HTML+CSS常用属性速记.

    Html + Css 学习 一.VSCode常用 //1. VScode常用快捷键 * 新建文件:ctrl + N * 切换自动换行:alt + Z * 复制当前行:ctrl + C:ctrl + V ...

  3. selenium提取数据之driver对象的常用属性和方法

    selenium提取数据之driver对象的常用属性和方法 在使用selenium过程中,实例化driver对象后,driver对象有一些常用的属性和方法 driver.page_source 当前标 ...

  4. 尚硅谷学习笔记-节点的常用属性和方法

    节点的常用属性和方法[图片在末尾] 方法: 通过具体的元素节点调用 getElementsByTagName() 方法,获取当前节点的指定标签名孩子节点 appendChild( oChildNode ...

  5. Node.js process 模块常用属性和方法

    Node.js是常用的Javascript运行环境,本文和大家发分享的主要是Node.js中process 模块的常用属性和方法,希望通过本文的分享,对大家学习Node.js http://www.m ...

  6. css规则中区块block,css常用属性总结:背景background下篇

    前言:这段时间天天加班到10:30之后,简直是x了. 在上一篇文章中,分别解析了background各个属性的用法和注意细节.如果我们在项目上使用背景效果,如果使用下面的写法,你可能抓狂. body{ ...

  7. 5中div标签有没有url属性_[网页编程]-03 CSS 常用属性

    字体处理常用属性 <!DOCTYPE html> <html><head><meta charset="utf-8"><tit ...

  8. js如何操作表格(常用属性方法汇总)

    js如何操作表格(常用属性方法汇总) 一.总结 一句话总结: 二.表格相关的属性和方法 1.1 Table 对象集合 cells[] 返回包含表格中所有单元格的一个数组. 语法:tableObject ...

  9. wpf- DataGrid 常用属性和事件

    组件所在命名空间: System.Windows.Controls 组件常用方法: BeginEdit:使DataGrid进入编辑状态. CancelEdit:取消DataGrid的编辑状态. Col ...

  10. TeeChart for .NET常用属性总结

    2019独角兽企业重金招聘Python工程师标准>>> 本文总结了图表控件Teechart for .NET常用的一些属性,对图表开发人员来说是一个很好的参考. 实现绘图步骤: 1. ...

最新文章

  1. 使用 OpenCV 和 Python 模糊和匿名化人脸
  2. 网络推广计划浅析外链发布要遵循的几点小技巧!
  3. JS类的封装及实现代码
  4. 汽车保险解读:解析涉水损失险与自燃险
  5. 完美主义怎么解决_相信我,你不要完美主义
  6. P7115-[NOIP2020]移球游戏【构造】
  7. php可以控制视频的尺寸吗吗,控制视频像素尺寸这样做
  8. 中国栓塞线圈市场趋势报告、技术动态创新及市场预测
  9. 初笔,JAVA.HelloWorld代码详解
  10. 算法竞赛入门经典(第2版)—索引
  11. 15-Mixly模拟输出 | Mixly技巧系列
  12. ANR问题分析实例 logcat anr trace
  13. 一文读懂Elephant Swap的LaaS方案的优势之处
  14. 2019双十一自动领喵币
  15. 大数据浪潮将催生信息产业第三极——“数据极”
  16. arm为何断供华为?华为会使用RISC-V取代ARM?
  17. C++ 强制类型转换操作符(static_cast、dynamic_cast、const_cast和reinterpret_cast)
  18. 【数据库】数据库的投影查询、运算查询、条件查询、统计查询
  19. 将数字、字母、汉字分开的方法
  20. Datawhale组队学习周报(第022周)

热门文章

  1. uni-app小程序 真机显示canvas上利用base64图片生成的海报
  2. 微信公众号发红包 php,php微信公众号接口实现发红包的方法
  3. 4键电子手表说明书_4键sport电子表使用说明书,按START键可循环选择12/24小时显示格式...
  4. 蚂蚁篇无聊吗?看看猎人骨灰粉丝绝妙分析(1)
  5. 成功实现有线路由器和无线路由器连接上网
  6. Xcelsius 的苦难日子
  7. 高新区智慧交通建设方案
  8. 蓝牙耳机连接笔记本后,音乐会断断续续,卡顿。
  9. python字典包含指定键_筛选python字典中键包含特定字符串的项
  10. c语言json使用,cJSON使用(二)