如何在运行时更改未绑定的 Janus GridEx 行 (v3) 上的 Column.EditType 属性
How do I change the Column.EditType property on an unbound Janus GridEx Row (v3) at runtime
下午好,
我在某处遗漏了一些东西,我需要帮助。
我想做的是更改我在运行时添加的 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 为真,复选框列的编辑类型不会从 EditType.CheckBox 更改为 EditType.NoEdit。当我在 GridEx 设计器中创建列时,我将 EditType 设置为 CheckBox,它就保留在那里。
如果有任何不同,我使用的是 Visual Studio 2013,GridEx 控件是 3.5.0.0
如果您能指出正确的方向,或一些文档/示例,我将不胜感激。
我试过 Google,但并没有给我带来任何快乐。
我认为您不能更改单个单元格的编辑类型,您必须更改列的编辑类型。在您的情况下,您可以将复选框编辑类型值设置为 True 或 False(选中或未选中)。同样对于列,您必须将其设置为 ActAsSelector = True
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;
}
希望对您有所帮助!
下午好,
我在某处遗漏了一些东西,我需要帮助。
我想做的是更改我在运行时添加的 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 为真,复选框列的编辑类型不会从 EditType.CheckBox 更改为 EditType.NoEdit。当我在 GridEx 设计器中创建列时,我将 EditType 设置为 CheckBox,它就保留在那里。
如果有任何不同,我使用的是 Visual Studio 2013,GridEx 控件是 3.5.0.0
如果您能指出正确的方向,或一些文档/示例,我将不胜感激。 我试过 Google,但并没有给我带来任何快乐。
我认为您不能更改单个单元格的编辑类型,您必须更改列的编辑类型。在您的情况下,您可以将复选框编辑类型值设置为 True 或 False(选中或未选中)。同样对于列,您必须将其设置为 ActAsSelector = True
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;
}
希望对您有所帮助!