私は初心者で、私に同行してください。私はエラーを持っている:私は達成するために何を望むか行収集エラー
"Additional information: Index was out of range. Must be non-negative and less than the size of the collection."
は私のDataGridViewに行をクリックし、テキストボックスで選択した行のすべての値を渡すことです。
第一、私は「表」上のすべてを選択すると、私のDataTableを埋めるためにをMySqlDataAdapterを使用しています:ここで
は、以下の私のコードです。あなたはこのスレッドに返事をしなかった場合
private void loadrecord()
{
using (MySqlConnection loadcon = new MySqlConnection(connString))
{
loadcon.Open();
MySqlCommand loadcom = new MySqlCommand("SELECT * FROM table1", loadcon);
MySqlDataAdapter loadad = new MySqlDataAdapter(loadcom);
DataTable loaddt = new DataTable();
loadad.Fill(loaddt);
BindingSource loadbindsource = new BindingSource();
loadbindsource.DataSource = loaddt;
dataGridView1.DataSource = loadbindsource;
loadcon.Close();
}
}
I例ではForm1_Load
private void Form1_Load(object sender, EventArgs e)
{
loadrecord();
}
に機能loadrecordを呼んでいる第二は最後に、私はこのdataGridView1
private void dataGridView1_CellContentClick_1(object sender, DataGridViewCellEventArgs e)
{
//I have 3 records. 1 Balice Book1, 2 Coyman Book2, 3 Pale Book3
//Click primarykey on datagridview "1" and pass the value of selected row of "1", pass "1" to Textbox1, pass "Balice" to Textbox2 and pass "Book1" to Textbox3
//What I have tried so far is this:
Textbox1.Text = dataGridView1.SelectedRows[0].Cells[0].Value.ToString();
Textbox2.Text = dataGridView1.SelectedRows[0].Cells[1].Value.ToString();
Textbox3.Text = dataGridView1.SelectedRows[0].Cells[2].Value.ToString();
//then this error appear whenever I try to click the cells
//Additional information: Index was out of range. Must be non-negative and less than the size of the collection.
}
はどうもありがとういます。
私はそれを試し、私はまだエラーが発生するかどうかを確認します。 – 19GreenBlankets
実際には、セル[0]を設定すると、column_nameはcolumn_idではなくtextboxに値を渡しています。簡単な質問です。私は-1を使用することができないことを知っています。 column_idを取得することは可能ですか?私は本当にcolumn_idの行の値を取得したかったのです。私は私のdatagridviewの4列しか持っていない – 19GreenBlankets
それは別の問題のように聞こえる?もしそうなら、新しい質問を使って新しい投稿を作成することもできます。 – mjwills