下午好,
我在某处缺少某些东西,需要帮助。
我想做的是更改我在运行时添加的GridEx行的复选框列的EditType。我目前拥有的代码如下:
Private Sub FillGroupGrid(asset as AssetDetail)
Dim row As GridEXRow = jgrdGroup.AddItem()
row.BeginEdit()
row.Cells(COL_NAME_GROUP_ID).Value = asset.GroupID
row.Cells(COL_NAME_NAME).Value = asset.Name
row.Cells(COL_NAME_SELECTED).Column.EditType = IIf(asset.InUse, EditType.NoEdit, EditType.CheckBox)
row.IsChecked = asset.Selected
row.EndEdit()
End Sub
添加行没有问题,但是如果asset.InUse为true,则复选框列的编辑类型不会从EditType.CheckBox更改为EditType.NoEdit。当我在GridEx设计器中创建该列时,我将EditType设置为CheckBox,并且它就在那里。
如果有什么不同,我正在使用Visual Studio 2013,并且GridEx控件为3.5.0.0
如果您能指出正确的方向,或者提供一些文档/示例,我将不胜感激。我已经尝试过Google,但它并没有给我带来任何快乐。
row.IsChecked = asset.Selected
上面的代码将根据asset.Selected
值将其选中或取消选中。如果要取消未经检查的单元格的编辑操作,则有一个事件称为grd_CurrentCellChanging(object sender, CurrentCellChangingEventArgs e)
。我将只用C#给出一个示例代码,您可以将其转换为VB.Net。
private void grd_CurrentCellChanging(object sender, CurrentCellChangingEventArgs e)
{
if (e.Row != null)
e.Cancel = !e.Row.IsChecked;
}
希望对您有帮助!