我如何配置datagridview,以便用户只能遍历行并使用滚动,而不是其他任何内容...... 如果我禁用网格,则不允许我使用滚动
答案 0 :(得分:4)
将您的datagridview设置为只读,这将禁用所有编辑。
dataGridView1.ReadOnly = true;
在你的处理程序中,执行:
void dataGridView1_DoubleClick(object sender, EventArgs e)
{
if (dataGridView1.ReadOnly == true)
return;
// .. whatever code you have in your handler...
}
即使用户双击网格,也不会发生任何事情。
答案 1 :(得分:1)
如OP评论所述:
dataGridView.ReadOnly = true;
在您正在处理的任何DataGridView事件中,检查ReadOnly属性,如果为true,则不要在事件中执行任何操作。
我查看了迭代行和列并禁用其中每一个的另一个选项,但Enabled不是行或列对象的属性。无论如何,迭代大量的项目都会很慢。
答案 2 :(得分:0)
吨。法布尔的回答对我不起作用。在我的情况下,我的数据网格的每一行都有按钮和可编辑的复选框,因此即使DataGrid在ReadOnly中也不会停用它们。但是,对我有用的(不禁用滚动)会禁用每一行,如下例所示:
<Style TargetType="{x:Type DataGridRow}" x:Key="MyDataGridRowStyle">
<Style.Setters>
<Setter Property="IsEnabled" Value="False"/>
</Style.Setters>
</Style>
然后在DataGrid中:
<DataGrid ... RowStyle="{StaticResource MyDataGridRowStyle}">
希望有所帮助(对不起,如果只发布了XAML解决方案)!
答案 3 :(得分:0)
对我来说最好的解决方案,它禁用除滚动和调整单元格大小(imho最适合“只读表”)以外的所有功能:
a