软件开发技术交流,同学习共进步,欢迎加群, 群号:169600532

最近C/S项目中用到FarPoint.Win.Spread,想在表头加个全选的checkbox,实现效果如图:

 

列的设置大家都清楚,直接可视化视图中设置该列CellType为CheckBox类型即可

表头的设置就需要费些周折了。一般是在加载时code,代码:

 //设置行表头
FarPoint.Win.Spread.CellType.CheckBoxCellType celltype = new FarPoint.Win.Spread.CellType.CheckBoxCellType();
celltype.Caption = "全选";
spdPrintInfo_Sheet1.ColumnHeader.Cells[, ].CellType = celltype;
spdPrintInfo_Sheet1.ColumnHeader.Cells[, ].Text = "False";

由于我要把全选放在第一行,所以固定为【0,0】
然后需要给这个CheckBox定义点击事件,一般事件就是该控件的CellClick事件,详细代码如下:

 private void spdPrintInfo_CellClick(object sender, CellClickEventArgs e)
{
if (e.Column == )
{
if (e.ColumnHeader)
{
if (spdPrintInfo_Sheet1.ColumnHeader.Cells[, ].Text == "False")
{
spdPrintInfo_Sheet1.ColumnHeader.Cells[, ].Text = "True";
int rowcount = spdPrintInfo_Sheet1.RowCount;
for (int i = ; i < rowcount; i++)
{
spdPrintInfo_Sheet1.Cells[i, ].Text = "True";
}
}
else
{
spdPrintInfo_Sheet1.ColumnHeader.Cells[, ].Text = "False";
int rowcount = spdPrintInfo_Sheet1.RowCount;
for (int i = ; i < rowcount; i++)
{
spdPrintInfo_Sheet1.Cells[i, ].Text = "False";
}
}
}
else
{
if (spdPrintInfo_Sheet1.Cells[e.Row, ].Text == "False")
{
bool allCheck = true;
spdPrintInfo_Sheet1.Cells[e.Row, ].Text = "True";
for (int i = ; i < spdPrintInfo_Sheet1.RowCount; i++)
{
if (spdPrintInfo_Sheet1.Cells[i, ].Text == "False")
{
allCheck = false;
break;
}
}
if (allCheck)
{
spdPrintInfo_Sheet1.ColumnHeader.Cells[, ].Text = "True";
}
}
else
{
spdPrintInfo_Sheet1.Cells[e.Row, ].Text = "False";
//将表头也设置为不勾选
spdPrintInfo_Sheet1.ColumnHeader.Cells[, ].Text = "False";
}
}
}
}

如此,自己coding的全选就完成了,方法不是最好的,欢迎大家指正或建议更高效、简单的方法。

FarPoint.Win.Spread 自定义表头的更多相关文章

  1. FarPoint.Win.Spread 常规操作

    FarPoint.Win.Spread.FpSpread fSpread = new FarPoint.Win.Spread.FpSpread();             //设置 行数.列数    ...

  2. QTableWidget自定义表头QHeaderView加全选复选框

    1         QTableWidget自定义表头QHeaderView加全选复选框 在使用QTableWidget时需要在表头添加全选复选框,但是默认的表头无法添加复选框,只能用图片画上去一个复 ...

  3. vue + element ui 表格自定义表头,提供线上demo

    前言:工作中用到 vue+element ui 的前端框架,需要使用自定义表头,需要使用 re.转载请注明出处:https://www.cnblogs.com/yuxiaole/p/9710826.h ...

  4. ElementUI2.0组件库el-table表格组件如何自定义表头?

    效果图: npm run dev 编译项目之后,报错,要使用jsx语法需要先安装编译插件 1.安装下列安装包 npm install babel-plugin-syntax-jsx --save-de ...

  5. element之table自定义表头

    1.实现效果 2.使用render-header可以自定义表头 <el-table-column prop="date" label="日期" sorta ...

  6. ElementUI的Table-column_render-header自定义表头

    ElementUI的Table表格,官方网站上提供了很多样式,但是在日常开发中还会碰到各种情况,显然官方提供的是不能满足需求的.那么,我们就根据自己的需求对table进行改造. 先丢出关于Table的 ...

  7. WPF DataGrid 复合表头 (实现表头合并,自定义表头)

    功能说明: 将 DataGrid嵌套在本控件内,使用Label自定义表头,如果需要上下左右滚动 需要在控件外围添加  ScrollViewer 并且设置  ScrollVisibility 为Auto ...

  8. gridview自定义表头

    gridview为我们提供了丰富的接口,用于满足自定义需求. 通常asp:gridview会根据绑定的列Columns自动生成表头,展现在前台元素. 序号 类别 有时候需要复杂一些的表头. 序号 类别 ...

  9. [Qt]自定义表头实现过滤功能

    1. 写在前面 过滤功能源自项目上交互优化用户体验,在表头添加过滤符号实现过滤,替换以往在表格上方占用一行过滤项进行过滤. 2. 过滤提示 过滤提示就是三态图标(normal,hover,press) ...

随机推荐

  1. ReactiveSwift日常运用<一>

    上一篇中,我已经很详细的介绍了ReactiveSwift,接下来我就举几个简单的例子供大家参考.1.键盘的监听这在我们开发中很常用,因为很多App都需要对登录注册进行判断,这样可以避免服务器存储很多废 ...

  2. java基础:学生管理系统

    package com.lovo.manager; import java.util.Scanner; /** * 学生管理 * * @author 向往的生活 * */public class St ...

  3. Convert Sorted Array to Binary Search Tree & Convert Sorted List to Binary Search Tree

    Given an array where elements are sorted in ascending order, convert it to a height balanced BST. Su ...

  4. JDBC整合c3p0数据库连接池 解决Too many connections错误

    前段时间,接手一个项目使用的是原始的jdbc作为数据库的访问,发布到服务器上在运行了一段时间之后总是会出现无法访问的情况,登录到服务器,查看tomcat日志发现总是报如下的错误. Caused by: ...

  5. sublime text笔记

    sublime text确实是一个很不错的编辑器,而且还是跨平台的,这个很不错.---Linux V2.0.2 有些时候可以比VIM要好有些 1.安装: apt-get install sublime ...

  6. 解决Chrome动画”卡顿”的办法

    为动画DOM元素添加CSS3样式-webkit-transform:transition3d(0,0,0)或-webkit-transform:translateZ(0);,这两个属性都会开启GPU硬 ...

  7. [原创]HBase学习笔记(4)- 数据导入

    需要分别从Oracle和文本文件往HBase中导入数据,这里介绍几种数据导入方案. 1.使用importTSV导入HBase importTSV支持增量导入.新数据插入,已存在数据则修改. 1.1.首 ...

  8. oracle学习 笔记(2)

    题记:在使用Oracle数据库的时候,发现Oracle是没有自动增长列来实现主键的,所以在此记录学习.(PS:如果哪里有错误或者不足的地方还请大家帮忙指出来) 二.序列(自动增长列) 为此问题博主也是 ...

  9. vmware克隆之后网卡起不来的问题

    问题: 克隆一台主机之后,改主机的网卡起不来,只有一个本地的回环地址网卡. 使用如下的命令都无效. /etc/init.d/network restart ifup eth0 原因: 这一vmware ...

  10. strtol函数 将字符串转换为相应进制的整数

    转自http://hi.baidu.com/qwpsmile/blog/item/9bc44efa4f41018a9f514637.html +----------------+|      strt ...