DevExpress 中控件gridControl1的使用
gridControl1给绑定数据后,
我写了个方法,给gridControl1的gridView1中加了一列 checkEdit
方法如下:
public void gridv(GridView gv)
{
if (gv.RowCount > 0)
{
GridColumn gc ;
gc = gv.Columns.AddField("checket");
gc.Name="checket";
gc.Caption = "请选择!";
gc.VisibleIndex = 0;
gc.UnboundType = DevExpress.Data.UnboundColumnType.Boolean;
}
}
运行结果 :成功 !!!
checkEdit id name
? 1 a
2 b
但是 里面checkEdit 只能单选,也就是说,只能选择一个 ,如果在选择第二个,那么第一的勾就被取消掉了!
我用 这种方法gv.SetRowCellValue(i, gridView1.Columns[cl-1], "true"); 给他赋值,也没有效果!
我要怎么才能实现多选效果呢?
帮帮忙谢谢了!!
[解决办法]
绑定了吗?绑定的列是否布尔类型值?
请参考:
http://blog.csdn.net/yangxiaofen1987/archive/2010/08/13/5809317.aspx
[解决办法]
你要实现的效果我知道,但是不是那样做的,要从数据源考虑,而不是界面上添加,你那个是无法将数据保存下来的结果,下面是我写的代码:
DataTable dt = (DataTable)gridControl1.DataSource;dt.Columns.Add(new DataColumn("Check", typeof(bool)) { AllowDBNull = false, DefaultValue = false });if (gridControl1.MainView.GetType() == typeof(GridView)){ GridView gridview = gridControl1.MainView as GridView; gridview.OptionsBehavior.Editable = true; //注意,这里将所有列设置为不可编辑,仅留下新增的勾选列运行编辑,如有特例,单独开启列编辑。 foreach (GridColumn gcol in gridview.Columns) { gcol.OptionsColumn.AllowEdit = false; } GridColumn col = gridview.Columns.Insert(0); col.Name = "Check"; col.FieldName = "Check"; col.Caption = "选择"; col.Width = 52; col.Visible = true; col.OptionsColumn.AllowEdit = true; col.OptionsColumn.AllowSize = false; col.OptionsColumn.AllowMove = false; col.OptionsColumn.AllowIncrementalSearch = false; col.OptionsFilter.AllowFilter = false; col.Fixed = FixedStyle.Left;}
[解决办法]
DevExpress.XtraEditors.Repository.RepositoryItemCheckEdit cke = new DevExpress.XtraEditors.Repository.RepositoryItemCheckEdit();
setCheckEdit(gv_clist.Columns["选择"]);
private void setCheckEdit(DevExpress.XtraGrid.Columns.GridColumn column)
{
column.ColumnEdit = cke;
cke.AllowGrayed = false;
cke.ValueGrayed = "0";
cke.ValueChecked = "1";
cke.ValueUnchecked = "0";
}
[解决办法]