如何在 c# 中禁用可点击的 datagridview 中的空单元格

Posted

技术标签:

【中文标题】如何在 c# 中禁用可点击的 datagridview 中的空单元格【英文标题】:how to disable empty cells in datagridview clickable in c# 【发布时间】:2017-05-23 06:36:38 【问题描述】:

这是我的代码,因此每次用户单击一行时都会转到textbox,我的问题是当我单击一个空单元格时会出现错误。如何禁用空单元格的可点击性?

private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
           
   txt_voterid.Text = dataGridView1.SelectedRows[0].Cells[0].Value.ToString();
   txt_fname.Text = dataGridView1.SelectedRows[0].Cells[1].Value.ToString();
   txt_lname.Text = dataGridView1.SelectedRows[0].Cells[2].Value.ToString();
   txt_age.Text = dataGridView1.SelectedRows[0].Cells[3].Value.ToString();
   txt_vstatus.Text = dataGridView1.SelectedRows[0].Cells[4].Value.ToString();
   txt_uname.Text = dataGridView1.SelectedRows[0].Cells[5].Value.ToString();
   txt_pword.Text = dataGridView1.SelectedRows[0].Cells[6].Value.ToString();


【问题讨论】:

你遇到了什么错误? @InnovaITveSolutions NullReferenceException 未处理。 你的datagridview模板结构是什么? @InnovaITveSolutions link 喜欢这样吗? 【参考方案1】:

替换这一行

txt_voterid.Text = dataGridView1.SelectedRows[0].Cells[0].Value.ToString();

有了这个

if(!string.IsNullOrEmpty(Convert.ToString(dataGridView1.SelectedRows[0].Cells[0].Value)))
    txt_voterid.Text = Convert.ToString(dataGridView1.SelectedRows[0].Cells[0].Value);

【讨论】:

以上是关于如何在 c# 中禁用可点击的 datagridview 中的空单元格的主要内容,如果未能解决你的问题,请参考以下文章

如何在 C# 中禁用/启用网络连接

c#如何完全禁用用户按钮

WPF 禁用TextBox的触摸后自动弹出虚拟键盘

WPF 禁用TextBox的触摸后自动弹出虚拟键盘

如何在winform c#中禁用按钮时将焦点设置在按钮上?

如何在 C# 中的数据库中的 DataGridViewComboBoxColumn 中显示值