こんにちは、選択した datagridview 行を別の datagridview に追加しようとしています。
私はmanオブジェクトクラスを使用しています。これが私のクラスです。
class Man
{
private string _name;
public string name
{
set { _name = value; }
get { return _name; }
}
private string _address;
public string address
{
set { _address = value; }
get { return _address; }
}
}
ここに 2 つのリストがあります。
List<Man> people= new List<Man>();
List<Man> people2 = new List<Man>();
public string tempname;
行クリック イベントのコード全体を次に示します。
private void dataGridView1_Click(object sender, EventArgs e)
{
foreach (DataGridViewRow row in dataGridView1.SelectedRows)
{
Man manobj = new Man();
manobj.name = Convert.ToString(row.Cells[0].Value);
tempname = Convert.ToString(row.Cells[0].Value);
manobj.address= Convert.ToString(row.Cells[1].Value);
//Adding the man object
people2.Add(manobj);
BindingSource manbind2= new BindingSource();
manbind2.DataSource = people2;
dataGridView2.DataSource = manbind2;
dataGridView1.Rows.RemoveAt(row.Index);
for (int i = 0; i < people.Count; i++)
{
Man tempman = people[i] as Man;
if (tempman.name == tempname)
{
people.Remove(tempman);
}
}
}
}
時々クリックすると、このエラーメッセージが表示されます。
DataGridView で以下の例外が発生しました。
System.indexOutOfRangeException:Index 0 に値がありません System.Windows.Forms.CurrencyManager.get_Item(Int32index)at System.Windows.Forms.DataGridView.DataGridViewDataConnection.GetError(Int32rowIndex) この既定のダイアログを置き換えるには、データ エラー イベントを処理してください.
セルが1つずつ空になり、常にエラーメッセージが表示されます。誰かがそれを修正する方法を教えてもらえますか?