FarPoint.Win.Spread 自定义表头
软件开发技术交流,同学习共进步,欢迎加群, 群号: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 自定义表头的更多相关文章
- FarPoint.Win.Spread 常规操作
FarPoint.Win.Spread.FpSpread fSpread = new FarPoint.Win.Spread.FpSpread(); //设置 行数.列数 ...
- QTableWidget自定义表头QHeaderView加全选复选框
1 QTableWidget自定义表头QHeaderView加全选复选框 在使用QTableWidget时需要在表头添加全选复选框,但是默认的表头无法添加复选框,只能用图片画上去一个复 ...
- vue + element ui 表格自定义表头,提供线上demo
前言:工作中用到 vue+element ui 的前端框架,需要使用自定义表头,需要使用 re.转载请注明出处:https://www.cnblogs.com/yuxiaole/p/9710826.h ...
- ElementUI2.0组件库el-table表格组件如何自定义表头?
效果图: npm run dev 编译项目之后,报错,要使用jsx语法需要先安装编译插件 1.安装下列安装包 npm install babel-plugin-syntax-jsx --save-de ...
- element之table自定义表头
1.实现效果 2.使用render-header可以自定义表头 <el-table-column prop="date" label="日期" sorta ...
- ElementUI的Table-column_render-header自定义表头
ElementUI的Table表格,官方网站上提供了很多样式,但是在日常开发中还会碰到各种情况,显然官方提供的是不能满足需求的.那么,我们就根据自己的需求对table进行改造. 先丢出关于Table的 ...
- WPF DataGrid 复合表头 (实现表头合并,自定义表头)
功能说明: 将 DataGrid嵌套在本控件内,使用Label自定义表头,如果需要上下左右滚动 需要在控件外围添加 ScrollViewer 并且设置 ScrollVisibility 为Auto ...
- gridview自定义表头
gridview为我们提供了丰富的接口,用于满足自定义需求. 通常asp:gridview会根据绑定的列Columns自动生成表头,展现在前台元素. 序号 类别 有时候需要复杂一些的表头. 序号 类别 ...
- [Qt]自定义表头实现过滤功能
1. 写在前面 过滤功能源自项目上交互优化用户体验,在表头添加过滤符号实现过滤,替换以往在表格上方占用一行过滤项进行过滤. 2. 过滤提示 过滤提示就是三态图标(normal,hover,press) ...
随机推荐
- 最强 IDE Visual Studio 2017 正式版发布
Visual Studio 2017 正式版发布,该版本不仅添加了实时单元测试.实时架构依赖关系验证等新特性,还对许多实用功能进行了改进,如代码导航.IntelliSense.重构.代码修复和调试等等 ...
- 从覆盖bootstrap样式谈css选择器优先级
样式优先级 首先简单说几个定义样式的方式: 元素内嵌: <li><a href="" style="color:#ffffff;">SH ...
- require和include的区别及自动加载的定义
//引入文件//require与include的区别://include主要是指引入,如果引入的文件出现错误,则程序停止运行//require主要是指请求,如果请求的文件出现错误,则程序不受影响,继续 ...
- U-Boot 内核 (一)
1.首先安装Vmware,安装Ubuntu 15.04 (安装时记住用户名和密码) 2.终端命令Ctrl+Alt+T 3.进行准备工作 安装工具 sudo apt-get update sudo ap ...
- Git-最简单的本地项目变成版本仓库,然后把内容推送到GitHub仓库
(注:本文的前提是本地Git仓库和github仓库之间已经存在SSH key了,所以如果没有建立联系的小伙伴们请先建立联系) 具体操作: 一:把本地项目变成版本仓库 1.把本地的一个项目目录编程版本库 ...
- php学习测试题目
<?php header("content-type:text/html;charset=utf-8"); /* 1.银行给客户每天万分之四的利率,本金10 ...
- 交叉编译Python-2.7.13到ARM(aarch32)平台
作者:彭东林 邮箱:pengdonglin137@163.com QQ:405728433 环境 主机: ubuntu14.04 64bit 开发板: qemu + vexpress-a9 (参考: ...
- JavaScript实现
JavaScript实现 Javascript实现虽然JavaScript和ECMAScript通常都被人们用来表达相同的含义,但JavaScript的含义却比ECMA-262中规定的要多得多.没错, ...
- flex中日期的格式化
今天我做的项目中需要把时间给拆分了,形式为:yyyy-MM-DD HH mm, 下面是我的代码实现: <?xml version="1.0" encoding="u ...
- dev机上数据库中批量生成table
我的低效方法: 通过本地php脚本进行create: <?php //0-63 header("Content-type:text/html;charset=utf-8"); ...