我得到一個datagridview默認錯誤對話框。那裏說它處理dataerror事件。 我從數據表中加載myy DGV中的數據。當我嘗試添加一個新行時,我用(*)單擊空行。當我開始在新的行單元格中鍵入一些值時,則會顯示數據錯誤並進入無限循環。DataError對話框
DataGridViewDataError.context = display.
Error: Index 3 does not have a value.
我的網格有3rows這裏的新行會索引3
下面是其中DGV加載代碼
private void frmPlant_Load(object sender, EventArgs e)
{
Program.fMain = this;
Program.LoadAllForms();
string selectCommand = "select * from T1";
FillData(selectCommand);
}
private void FillData(string selectCommand)
{
using (SQLiteConnection conn = new SQLiteConnection(connString))
{
conn.Open();
dataGridView1.AutoGenerateColumns = true;
da = new SQLiteDataAdapter("selectCommand", connString);
ds = new DataSet();
commandBuilder = new SQLiteCommandBuilder(da);
da.Fill(ds, "T1");
dt = ds.Tables[0];
dataGridView1.DataSource = ds.Tables[0];
dataGridView1.DataMember = "T1";
dataGridView1.Columns["TID"].ReadOnly = true;
}
}
我不知道確切位置的代碼這發生了。處理DataError事件。不知道UserAddedRows,RowsValidating將是有益的
private void dataGridView1_DataError(object sender, DataGridViewDataErrorEventArgs e)
{
MessageBox.Show(e.Context.ToString());
e.Cancel = true;
}
謝謝 孫
如果您爲每列定義的數據類型不匹配,則會發生這些情況。確保它! – nawfal