如何配置一个DataGridView,这样用户可以通过该行只能移动和使用滚动,而不是其他...如果我禁用网格不允许我使用滚动
Answer 1:
设置你的datagridview为只读,这将禁用所有编辑。
dataGridView1.ReadOnly = true;
而你的内部处理,这样做:
void dataGridView1_DoubleClick(object sender, EventArgs e)
{
if (dataGridView1.ReadOnly == true)
return;
// .. whatever code you have in your handler...
}
即使对电网的用户双击,什么都不会发生。
Answer 2:
正如在OP评论讨论:
dataGridView.ReadOnly = true;
在里面你正在处理任何的DataGridView事件,检查只读属性,如果真的不做事件里的任何东西。
我看了看,通过行和列迭代和禁用每个人的另一种选择,但启用不是行或列对象的属性。 通过大量项目的迭代将是缓慢的,反正。
Answer 3:
T.法布尔回答没有为我工作。 就我而言,我有按钮和我的DataGrid的每一行可编辑的复选框,这样即使在DataGrid处于只读他们将不会被关闭。 然而,是什么为我所做的工作(没有禁用滚动)被禁用每一行就像这个例子:
<Style TargetType="{x:Type DataGridRow}" x:Key="MyDataGridRowStyle">
<Style.Setters>
<Setter Property="IsEnabled" Value="False"/>
</Style.Setters>
</Style>
然后在DataGrid:
<DataGrid ... RowStyle="{StaticResource MyDataGridRowStyle}">
希望帮助(抱歉,如果只是贴在XAML解决方案)!
文章来源: Disable DataGridView except the scroll