public void Init()
{
//gridView1.OptionsSelection.MultiSelect = true;
//gridView1.OptionsSelection.MultiSelectMode = DevExpress.XtraGrid.Views.Grid.GridMultiSelectMode.RowSelect;
this.gridView1.CustomDrawColumnHeader += new DevExpress.XtraGrid.Views.Grid.ColumnHeaderCustomDrawEventHandler(gridView1_CustomDrawColumnHeader);
}
void gridView1_CustomDrawColumnHeader(object sender, DevExpress.XtraGrid.Views.Grid.ColumnHeaderCustomDrawEventArgs e)
{
if (e.Column != null)
{
e.Info.InnerElements.Clear();
e.Painter.DrawObject(e.Info);
DrawCheckBox(e, false);
e.Handled = true;
}
}
private void DrawCheckBox(DevExpress.XtraGrid.Views.Grid.ColumnHeaderCustomDrawEventArgs e, bool chk)
{
RepositoryItemCheckEdit repositoryCheck = e.Column.ColumnEdit as RepositoryItemCheckEdit;
if (repositoryCheck != null)
{
Graphics g = e.Graphics;
Rectangle r = e.Bounds;
DevExpress.XtraEditors.ViewInfo.CheckEditViewInfo info;
DevExpress.XtraEditors.Drawing.CheckEditPainter painter;
DevExpress.XtraEditors.Drawing.ControlGraphicsInfoArgs args;
info = repositoryCheck.CreateViewInfo() as DevExpress.XtraEditors.ViewInfo.CheckEditViewInfo;
painter = repositoryCheck.CreatePainter() as DevExpress.XtraEditors.Drawing.CheckEditPainter;
info.EditValue = chk;
info.Bounds = r;
info.CalcViewInfo(g);
args = new DevExpress.XtraEditors.Drawing.ControlGraphicsInfoArgs(info, new DevExpress.Utils.Drawing.GraphicsCache(g), r);
painter.Draw(args);
args.Cache.Dispose();
}
}
private void gridView1_DoubleClick(object sender, EventArgs e)
{
Point pt = gridControl2.PointToClient(Control.MousePosition);
GridHitInfo info = gridView1.CalcHitInfo(pt);
if (!info.InRowCell && info.Column!=null&&info.Column.Name == "gridColumn8")//Index判断用于哪一列的列头
{
var ck = info.Column.ColumnEdit as RepositoryItemCheckEdit;
//ck.ValueChecked = m_checkStatus;
for (int i = 0; i < gridView1.DataRowCount; i++)
{
gridView1.SetRowCellValue(i, gridView1.Columns["Selected"], m_checkStatus);
}
m_checkStatus = !m_checkStatus;
gridControl2.Refresh();
// ck.ValueChecked = m_checkStatus;
}
else
{
int i = gridView1.FocusedRowHandle;
if (i >= 0)
{
PatientInfo entity = (PatientInfo)gridView1.GetRow(this.gridView1.GetSelectedRows()[0]);
gridView1.SetRowCellValue(i, gridView1.Columns["Selected"], !entity.Selected);
}
gridView1.UpdateCurrentRow();
}
}
gridcontrol 表头CheckEditt全选
最新推荐文章于 2022-11-18 16:32:49 发布