将特定DataRows设置为基于其值的只读

时间:2014-05-23 11:39:23

标签: c# sql wpf datagrid datatable

我在向导窗口中显示数据表,方法是将DataRows添加到DataTable(已经有DataColumns),然后使用此DataTable提供的.DefaultView(DataView)作为DataGrid的.ItemsSource,显示在页。

我的问题是,我只希望特定的行是只读的,基于行的一列中提供的值。例如,如果在某一行中有一个具有“是”或“否”值的列,则该行将基于此为只读。据我所知,当您将DataRow添加到DataTable时,无法将此DataRow设置为只读。

有没有办法遍历DataTable,DataGrid或DataView,并根据其中一列中的值将特定行设置为只读?

1 个答案:

答案 0 :(得分:0)

您无法将数据对象设为ReadOnly,但您可以将Control的行设为只读。

For Each row as DataGridViewRow In DataGridView1.Rows
    If row.Value(3) = True ' 3 is just a random number as I cannot see your example
        row.ReadOnly = True
    Else
        row.ReadOnly = False
    EndIf
Next 

如果您想要WPF答案,我怀疑,请查看this