如何在运行时更改未绑定的Janus GridEx行(v3)上的Column.EditType属性

下午好,

我在某处缺少东西,需要帮助。

我想做的是更改我在运行时添加的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,但是它并没有给我带来任何快乐。

chinawangsir 回答:如何在运行时更改未绑定的Janus GridEx行(v3)上的Column.EditType属性

我认为您不能更改单个单元格的编辑类型,而必须更改列的编辑类型。您可以将复选框的“编辑类型”值设置为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;
    }

希望对您有帮助!

本文链接:https://www.f2er.com/2751036.html

大家都在问