私のプロジェクトでは、DataSet にバインドした後、DataGridView の列の値を変更しようとしています。このようなもの:
dgvMain --> DataGridView
dsMainPatients --> DataSet
dsMainDoctors --> DataSet
dgvMain.DataSource = null;
dgvMain.DataSource = dsMainPatients.Tables[0];
foreach (DataGridViewRow r in dgvMain.Rows)
{
DataGridViewTextBoxCell txt = new DataGridViewTextBoxCell();
for (int intCount = 0; intCount < dsMainDoctors.Tables[0].Rows.Count; intCount++)
{
if (r.Cells[4].Value.ToString().Equals(dsMainDoctors.Tables[0].Rows[intCount][0].ToString()))
{
txt.Value = dsMainDoctors.Tables[0].Rows[intCount][1].ToString();
r.Cells[4] = txt; //dgvMain[4, r.Index] = txt; (also tried)
}
}
}
私の解決策は、ifステートメントに正常に入力され、正しい値を保持していますが、以前の値と同じであるためにtxt
何が起こっているのかわかりません。
グリッド列の値が変化していなくても、すべて正しい..それらを変更するには?r.Cells[4]