GridControl实现多选和列头全选

大名鼎鼎的DEV啊……弄了一个gridControl结果不知道如何加选择列,还有表头全选上网搜了搜终于搜到解决方案……结果解决办法麻烦的要死…… 这么一个挺基础的需求,DEV不提供解决方案?这没道理吧?怎么办啊……就差这一个功能了……换控件不划算啊

有这么一个方法来完成(只适合winform):

1、     绑定数据的源表添加一列      DataTable dt = ds.Tables[0];

dt.Columns.Add("selected", System.Type.GetType("System.Boolean"));

dt.Columns["selected"].DefaultValue = Boolean.FalseString;

gridControl1.DataSource = dt;

在gridControl的gridview中添加一列Column,类型为checkbox(在该列的属性中的ColumnEdit里面点new可以选择),FieldName设置为以上代码中的“selected”。

2、 //选择全部

private void CheckedAll(object sender,EventArgs e)

{

int columnscount = gridView1.DataRowCount;

for (int i = 0; i < columnscount; i++)

{

gridView1.SetRowCellValue(i, gridView1.Columns["selected"], true);

}

gridControl1.Refresh();

}

3、 列头双击全选

private void gridView1_DoubleClick(object sender, EventArgs e)

{

Point pt = gridControl1.PointToClient(Control.MousePosition);

GridHitInfo info = gridView1.CalcHitInfo(pt);

if(!info.InRowCell&&info.Column.AbsoluteIndex==2)//Index判断用于哪一列的列头

{

CheckedAll(sender,e);

}

}

注:是手打,如有错误请回复指出,如对您有帮助请点赞,谢谢。

来自 <http://zhidao.baidu.com/link?url=xnakfVD16EtunTSt3wBm153DyqHnXN3FSPO1E_2SpVmM5bmEIwICLA0N6zN85_ioOfUj-K1rhTd9fdB54-3DN_>

时间: 2024-12-24 13:39:01

GridControl实现多选和列头全选的相关文章

JS 控制checkbox 获取 全选 全不选 一行不选择全选则不被选择 全部选择全选被选择

</pre><pre name="code" class="javascript"><span style="font-size:18px;">//点击全选按钮的事件操作 function selectAll(){ var allcheckBoxs=document.getElementsByName("iTo"); var select=document.getElementsByName

js 全选选框与取消全选代码

设置一个全选选框和四个子选框,要实现点击全选后四个子选框选中,取消全选后四个子选框也取消.全选后点击某个子选框,全选也能取消.当四个子选框都选中时,全选框也被选择. 实现代码: <script> var a=document.getElementById("a"); var b=document.getElementsByClassName("b"); //全选与取消全选 var y=true; a.onchange=function(){ if(a.c

实现在DevExpress.XtraGrid.GridControl的列头绘制复选框以实现全选的功能

首先新建一个Win Form测试项目,拖一个GridControl控件到窗体上. 1 public partial class Form1 : Form 2 { 3 public Form1() 4 { 5 InitializeComponent(); 6 } 7 8 private Rectangle checkBoxColumnHeaderRect = Rectangle.Empty; 9 private GridColumn checkBoxColumn = null; 10 privat

给GridView添加列头复选框

1 using DevExpress.XtraEditors.Drawing; 2 using DevExpress.XtraEditors.Repository; 3 using DevExpress.XtraEditors.ViewInfo; 4 using DevExpress.XtraGrid.Views.Grid; 5 using System; 6 using System.Collections.Generic; 7 using System.Drawing; 8 using Sy

jq变态全选vs原生变态全选

<script> $(function(){ var num=0; $("#btn").on('click',function(){ if(this.checked){ $("#box").children().attr('checked',true); num=$("#box").children().length;//赋个值 }else{ $("#box").children().attr('checked',

自定义复选框样式及全选操作

自定义复选框样式 复选框结构 input框去其样式宽高为0;定位到父盒子内,我们需用其:checked 属性 下面的span为自定义样式,定位到父盒子内 . 效果展示 js 代码 模拟复选框样式 $(".ck_MN").click(function(){ var ck_Inp = $(this).siblings(".ckIpt"); var Ck_box = $(this).parents(".Ckbox"); if(ck_Inp.prop(&

html,javaScript中怎么控制复选框checkbox的全选,全不选,以及全选中,全选按钮选中,其中一个或者多个没选,则全选按钮不被选中

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%@ include file="/commons/jsp/htmtag.jsp"%> <html><head> <meta http-equiv="Content-Type"

layui 复选框checkbox 实现全选全选

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" href="layui/css/layui.css" media="all"> </head> &l

vue 选择之单选,多选,反选,全选,反选

1.单选 当我们用v-for渲染一组数据的时候,我们可以带上index以便区分他们我们这里利用这个index来简单地实现单选. <li v-for="(item,index) in radioList" :key="index" :class="selectedNum==index?'active':''" @click="select(index)">{{item}}</li> 首选定义一个selec