在运行时将数据网格列设置为只读

时间:2015-04-24 17:06:40

标签: vb.net windows visual-studio-2010 datagrid

我有一个数据网格,而不是数据网格视图,如果选中或不选中单选按钮,我只想读取一列。

所以我从sql查询动态定义列:

Dim bool_col As New FormattableBoolColumn 
bool_col.HeaderText = "Bool Colunm"
bool_col.MappingName = "bool_col"

表格上还有两个单选按钮,我们称之为A和B. 当检查A时,我想将bool_col设置为只读为真。 当检查B时,我想将bool_col设置为只读为假。

如果需要其他任何内容,请与我们联系。我正在使用Click事件,但我无法弄清楚如何在Datagrid中找到该列并将其设置为只读。花了整整一个下午试图这样做,并搜索了我能想到的一切,没有运气。 不幸的是,我无法将其更改为datagridview。项目的时间和金钱限制禁止了这一点。

提前致谢!

1 个答案:

答案 0 :(得分:1)

创建列时,您可以添加一个检查:

bool_col.ReadOnly = RadioButtonA.Checked

因此,如果选中A,则列的只读属性为true;如果A不是,则为false。

现在假设您的单选按钮位于一个组中,因此一次只能检查两个中的一个。

如果单选按钮不在组中,请使用:

If RadioButtonA.Checked Then
bool_col.ReadOnly = true
else if RadioButtonB.Checked Then
bool_col.ReadOnly = false
End If