WORK附圖:無法處理默認錯誤對話框動態的DataGridView(多NULL值)
我已填充上button_click
事件DataGridView
。 (根據在文本框中輸入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");
}
問題:
這工作完全如果在該行一列含有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專業
淨: 4.0版
使用語言: C#
數據庫: SQL Server 2008中
該消息表示沒有錯的查詢,但有一些繪製圖像。發佈更多代碼。你對結果返回的結果是什麼?有些字段中有圖片嗎? –
沒有圖像存儲在數據庫中。沒有涉及其他重要的代碼。 在窗體窗體中,使用一個文本字段(textBox1),一個按鈕(button1)和一個數據網格(dataGridView1)。 當應用程序運行時,我手動在textbox1中輸入查詢(比如select * from table1),然後點擊button1,此button1_click()方法觸發並填充datagridview。 table1中的某些單元格包含NULL,並顯示錯誤(如圖中所示)。我嘗試了所有提到的「TRIED SOLUTIONS」,但沒有什麼能幫助克服/拋出這個錯誤。 你可以在你的IDE中嘗試這些,並面對同樣的問題。 –
你的問題是不可重複的,也許你應該發佈別的東西,以便我們可以重現你得到像'table1'模式和一些虛構數據的錯誤。目前這段代碼對我來說工作正常! –