GridControl全选功能
来源:互联网 发布:王国风云2 mac 编辑:程序博客网 时间:2024/06/05 08:20
GridControl全选功能
GridView里面有一列定义为CheckEdit,FieldName为isChecked,数据源里面有isChecked属性
///<summary>
///实现全选功能
///</summary>
privatebool m_checkStatus = false;
构造函数里面写
//自己定义的GridControl里的GridView(t_gvTemplate)
this.t_gvTemplate.Click+=new System.EventHandler(this.gridView1_Click);
this.t_gvTemplate.CustomDrawColumnHeader+=new DevExpress.XtraGrid.Views.Grid.ColumnHeaderCustomDrawEventHandler(this.gridView1_CustomDrawColumnHeader);
this.t_gvTemplate.DataSourceChanged+= new EventHandler(gridView1_DataSourceChanged);
this.t_gvTemplate.OptionsBehavior.Editable=true;
#region GridControl全选
privatevoid gridView1_Click(objectsender,EventArgs e)
{
if(ClickGridCheckBox(this.t_gvTemplate,"isChecked", m_checkStatus))
{
m_checkStatus = !m_checkStatus;
}
}
privatevoidgridView1_CustomDrawColumnHeader(object sender,DevExpress.XtraGrid.Views.Grid.ColumnHeaderCustomDrawEventArgse)
{
if(e.Column != null && e.Column.FieldName=="isChecked")
{
e.Info.InnerElements.Clear();
e.Painter.DrawObject(e.Info);
DrawCheckBox(e, m_checkStatus);
e.Handled = true;
}
}
void gridView1_DataSourceChanged(object sender,EventArgse)
{
GridColumncolumn = this.t_gvTemplate.Columns.ColumnByFieldName("isChecked");
if(column != null)
{
column.Width = 45;
column.OptionsColumn.ShowCaption =false;
column.ColumnEdit = new RepositoryItemCheckEdit();
}
}
privatevoid DrawCheckBox(DevExpress.XtraGrid.Views.Grid.ColumnHeaderCustomDrawEventArgs e,bool chk)
{
RepositoryItemCheckEditrepositoryCheck = e.Column.ColumnEditas RepositoryItemCheckEdit;
if(repositoryCheck != null)
{
Graphicsg = e.Graphics;
Rectangler = e.Bounds;
DevExpress.XtraEditors.ViewInfo.CheckEditViewInfoinfo;
DevExpress.XtraEditors.Drawing.CheckEditPainter painter;
DevExpress.XtraEditors.Drawing.ControlGraphicsInfoArgs args;
info =repositoryCheck.CreateViewInfo() asDevExpress.XtraEditors.ViewInfo.CheckEditViewInfo;
painter =repositoryCheck.CreatePainter() as DevExpress.XtraEditors.Drawing.CheckEditPainter;
info.EditValue = chk;
info.Bounds = r;
info.CalcViewInfo(g);
args = newDevExpress.XtraEditors.Drawing.ControlGraphicsInfoArgs(info,new DevExpress.Utils.Drawing.GraphicsCache(g), r);
painter.Draw(args);
args.Cache.Dispose();
}
}
privateboolClickGridCheckBox(DevExpress.XtraGrid.Views.Grid.GridViewgridView,string fieldName, bool currentStatus)
{
boolresult = false;
if(gridView != null)
{
gridView.ClearSorting();//禁止排序
gridView.PostEditor();
DevExpress.XtraGrid.Views.Grid.ViewInfo.GridHitInfoinfo;
Pointpt = gridView.GridControl.PointToClient(Control.MousePosition);
info =gridView.CalcHitInfo(pt);
if(info.InColumn && info.Column != null&& info.Column.FieldName == fieldName)
{
for(int i = 0; i < gridView.RowCount; i++)
{
gridView.SetRowCellValue(i, fieldName, !currentStatus);
}
returntrue;
}
}
returnresult;
}
#endregion
///<summary>
///获取选取的数据集合
///</summary>
privateList<Student> getRowIndexList()
{
List<Student> listStudent=newList<Student>();
for (int rowIndex = 0; rowIndex <this.t_gvTemplate.RowCount; rowIndex++)
{
objectobjValue = this.t_gvTemplate.GetRowCellValue(rowIndex,"isChecked");
if(objValue != null)
{
boolcheck = false;
bool.TryParse(objValue.ToString(),out check);
if(check)
{
//m_selectTrue.Add(rowIndex);
listStudent.Add(t_gvTemplate.GetRow(rowIndex)asStudent);
}
}
}
returnlistStudent;
}
- GridControl全选功能
- 实现DataGridView和DevExpress.GridControl表头全选功能
- Winform传统DataGridView和DevExpress控件的GridControl两者表头全选功能的实现
- GridControl全选和反选
- DevExpress GridControl功能汇集
- 全选功能
- Jquery 全选取消全选功能
- DevExpress Gridcontrol 表格头复选框 全选全不选
- GridControl 选择列、复选框全选(上)
- GridControl 选择列、复选框全选(下)
- 全选功能实现
- 复选框全选功能
- select 全选功能例子
- 实现AdvancedDataGrid全选功能
- UltralWebGrid的全选功能
- 实现AdvancedDataGrid全选功能
- 复选框全选功能
- vim实现全选功能
- openURL程序间通讯
- 黑马程序员-Reflect(2)
- OCP 1Z0 051 157
- VC++ MFC编程中 IP控件的使用
- 10年后再看Robust Real-Time Face Detection(二) 之学习分类函数
- GridControl全选功能
- 2.进程间的管道通信
- Eclipse背景颜色修改
- jQuery绑定事件不执行,添加alert后可以正常执行
- Lua 学习笔记(一)
- poj 2406 Power Strings kmp
- 隧道磁阻式传感器应用之成品及性能测试
- hibernate 双向 1-n(详细分析)
- [Matlab][数据挖掘算法][感知机]