工作简介:
我在DataGridView
事件中填充了button_click
。 (根据在文本框中输入的SQL查询,将填充DataGridView
)
private void button1_Click(object sender, EventArgs e)
{
string strSQLQuery = textBox1.Text.Trim();
SqlDataAdapter dataAdapter = new SqlDataAdapter(strSQLQuery, strCon);
SqlCommandBuilder commandBuilder = new SqlCommandBuilder(dataAdapter);
DataTable dt = new DataTable();
dt.Locale = System.Globalization.CultureInfo.InvariantCulture;
dataAdapter.Fill(dt);
dataGridView1.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader);
dataGridView1.ReadOnly = true;
dataGridView1.DataSource = dt;
bool flag = false;
if (!dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].IsNewRow)
{
foreach (DataGridViewCell cell in dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells)
{
if (cell.Value == System.DBNull.Value)
flag = true;
}
}
if(flag)
MessageBox.Show("Many cells are empty");
}
ISSUE:
如果行中的所有列都不包含NULL
值,则此方法非常有效。
但是,如果在行的任何单元格中找到一个或多个NULL
值,我会在代码中看到消息框"Many cells are empty"
。当我尝试移动水平滚动条(我用来显示更多列)时,我得到以下DataGridView
默认错误对话框。
尝试解决方案:
我尝试了以下解决方案。但没有人能解决这个问题。请考虑帮助解决这个问题。
LINK 1 - MSDN - DataGridViewDataErrorEventArgs
类
LINK 2 - 社交MSDN网站
LINK 3 - StackOverflow
LINK 4 - Experts-Exchange
我还尝试使用以下方法避免弹出此错误。但这似乎无法解决问题。
private void dataGridView1_DataError(object sender, DataGridViewDataErrorEventArgs e)
{
e.Cancel = true;
}
初步信息
IDE: Visual Studio 2010专业版
.Net:版本4.0
使用的语言: C#
数据库: SQL Server 2008
答案 0 :(得分:1)
尝试使用其他系统。这对我来说非常适合。
同样清理并重建解决方案并重新启动IDE。或者尝试清除系统的缓存,临时文件。
IDE
:Visual Studio 2013
.Net
:4.0