Gridview 在接受0为false的网格中创建复选框

Gridview 在接受0为false的网格中创建复选框,gridview,checkbox,devexpress,Gridview,Checkbox,Devexpress,是否可以使复选框列接受0和1以确定是否应选中它?我从数据库获取gridView的数据源,其中一列使用0或1作为true和false。我需要这个0和1来表示gridView中的选中或未选中。我知道我可以循环遍历数据表中的每一条记录,并将值更改为checked或not checked,但实际上有数千个条目,因此这样做可能会很慢,特别是在将要使用它的机器上。可以这样强制gridView复选框列吗 感谢您的帮助。您可以使用在一般情况下完成此任务(将一种类型的列转换为另一种类型的列): 使用DevExpr

是否可以使复选框列接受0和1以确定是否应选中它?我从数据库获取gridView的数据源,其中一列使用0或1作为true和false。我需要这个0和1来表示gridView中的选中或未选中。我知道我可以循环遍历数据表中的每一条记录,并将值更改为checked或not checked,但实际上有数千个条目,因此这样做可能会很慢,特别是在将要使用它的机器上。可以这样强制gridView复选框列吗

感谢您的帮助。

您可以使用在一般情况下完成此任务(将一种类型的列转换为另一种类型的列):

使用DevExpress.XtraGrid.Views.Base;
//...
gridControl1.DataSource=新列表{
新数据对象{ID=0,intFlag=0},
新数据对象{ID=1,intFlag=1},
新数据对象{ID=2,intFlag=0}
};
gridView1.PopulateColumns();
gridView1.Columns[“intFlag”]。Visible=false;
gridView1.Columns.Add(新的DevExpress.XtraGrid.Columns.GridColumn()
{
FieldName=“boolFlag”,
Caption=“Flag”,
UnboundType=DevExpress.Data.UnboundColumnType.Boolean,
可见=真
});
gridView1.CustomUnboundColumnData+=gridView1\u CustomUnboundColumnData;
//...
void gridView1_CustomUnboundColumnData(对象发送方,CustomColumnDataEventArgs e){
if(e.Column.FieldName==“boolFlag”){
if(例如IsGetData)
e、 Value=(int)gridView1.GetRowCellValue(e.ListSourceRowIndex,“intFlag”)==1;
如果(如IsSetData)
gridView1.SetRowCellValue(e.ListSourceRowIndex,“intFlag”,(bool)e.Value?1:0);
}
}
发件人:

我认为实现此目标的最佳方法是将列类型更改为
Int32
(例如),并通过

RepositoryItemCheckEdit.ValueChecked,
RepositoryItemCheckEdit.ValueGrayed属性

请确保您的数据库字段(绑定到此列)是字符串类型字段,并且包含“0”、“1”和“2”值。 如果是整数字段,请按如下方式修改代码:

 repchk.ValueChecked = CType(2, Integer)
 repchk.ValueUnchecked = CType(0, Integer)
 repchk.ValueGrayed = CType(1, Integer)
请尝试此解决方案并将结果告知我们

参考文献




这项技术100%有效,而且很好理解,thanks@Niranjan卡拉+1棒极了!我完全忘记了这个简单的功能)
 repchk.ValueChecked = CType(2, Integer)
 repchk.ValueUnchecked = CType(0, Integer)
 repchk.ValueGrayed = CType(1, Integer)