Добрый день, Stack Exchange. Это мой первый пост здесь. Мне нужна ваша помощь в этой проблеме, которую я получил с DataTable и Datarow. Вот ошибка:
Индекс был вне допустимого диапазона. Должно быть неотрицательным и меньше размера коллекции. Имя параметра: индекс
^Это происходит и указывает на индекс dataGridView1[0]
Вот мой код:
static DataTable dtTest = GetTable();
static DataTable GetTable()
{
//added 4 columns with an incremental id
DataTable dt = new DataTable();
dt.Columns.Add("ID");
dt.Columns["ID"].AutoIncrement = true;
dt.Columns.Add("item");
dt.Columns.Add("qty", typeof(decimal));
dt.Columns.Add("amount", typeof(decimal));
return dt;
}
private void btnInsert_Click(object sender, EventArgs e)
{
//added 3 rows to hold data to be inserted to DataTable
DataRow myRow;
myRow = dt.NewRow();
myRow["item"] = txtItem.Text;
myRow["qty"] = Convert.ToDecimal(txtQty.Text);
myRow["amount"] = Convert.ToDecimal(txtAmount.Text);
dtTest.Rows.Add(myRow);
refreshItemGrid();
}
private void refreshItemGrid()
{
dataGridView1.Refresh();
dataGridView1.Columns[0].Visible = false; // ID
dataGridView1.Columns[1].HeaderText = "ITEM"; // item
dataGridView1.Columns[2].HeaderText = "QUANTITY"; // qty
dataGridView1.Columns[3].HeaderText = "AMOUNT"; // amount
}
Где я делаю неправильно здесь? Заранее спасибо за помощь. Ваше здоровье!