DataGridviewのデフォルトエラーダイアログボックスが表示されます。そこで、それはdataerrorイベントを処理すると言いました。 データテーブルからmyy DGVにデータをロードしています。新しい行を追加しようとすると、空の行を(*)でクリックします。私が新しい行セルにいくつかの値を入力し始めると、dataerrorが表示され、infinteループに入ります。DataErrorダイアログボックス
DataGridViewDataError.context = display.
Error: Index 3 does not have a value.
私のグリッドは3rowsを持っており、ここに新しい行がインデックス3.
ここで私はコード内で場所を正確に知っていない
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;
}
}
DGVがロードされているコードがありますがありますこれは事件です。 DataErrorイベントを処理しました。確かUserAddedRows場合、RowsValidatingは有用であろう
private void dataGridView1_DataError(object sender, DataGridViewDataErrorEventArgs e)
{
MessageBox.Show(e.Context.ToString());
e.Cancel = true;
}
日
これらのことは、各列に定義されたデータ型が一致しない場合に発生します。それを確認してください! – nawfal