Я работаю в системе Tool Crib. Мне нужно иметь способ заполнить свой dataGridView прошлыми заказами на покупку. Список PO на левой стороне, чтобы заполнить DataGridView . Я использовал это раньше, чтобы заполнить gridViews:
con.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = con;
string orderNumber = lbOrders.SelectedItem.ToString();
string query = "SELECT PartNumber from PurchaseOrders WHERE PONumber LIKE '%" + orderNumber + "%' ";
cmd.CommandText = query;
//OleDbDataReader reader = cmd.ExecuteReader();
cmd.ExecuteNonQuery();
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
dataGridView1.DataSource = dt;
Однако я не знаю, как заполнить существующую таблицу dataGridView. Как и в случае, я не знаю, как использовать столбцы, которые у меня уже есть для создания заказов на покупку. Da.Fill (dt) просто добавляет все новые столбцы, и я получаю дополнительный столбец и много пустых ячеек.
Дополнительный столбец для PartNumber
Я пытался просто заполнить столбец Элемент этим кодом:
string query = "SELECT PartNumber from PurchaseOrders WHERE PONumber LIKE '%" + orderNumber + "%' ";
cmd.CommandText = query;
OleDbDataReader reader = cmd.ExecuteReader();
//cmd.ExecuteNonQuery(); //not using this code
//OleDbDataAdapter da = new OleDbDataAdapter(cmd); //not using this code
//DataTable dt = new DataTable(); //not using this code
//da.Fill(dt); //not using this code
//dataGridView1.DataSource = dt; //not using this code
List<string> result = new List<string>();
for (int i = 0; i < result.Count - 1; i++)
while (reader.Read())
{
result.Add(reader.GetString(0));
//dataGridView1.Rows[0].Cells["Item"].Value = (reader["PartNumber"]).ToString(); //not using this code
}
for (int i = 0; i < result.Count-1; i++)
{
foreach (var item in result)
{
dataGridView1.Rows[i].Cells["Item"].Value = result[i];
}
}
con.Close();
Этот код работал для меня. Тем не менее, он продолжал говорить, что мой индекс находится вне диапазона и никогда не будет заполнять столбец «Элемент» правильно / полностью. Другим недостатком этого является то, что мне все еще нужно было ввести количество. У меня есть сетка вносит другую информацию, когда происходит изменение значения ячейки. Он просматривает базу данных товаров, чтобы получить описание и цену, поэтому все, что мне нужно сделать, - это заполнить столбцы Товар и количество.
Я занимаюсь этим уже несколько часов, и мне нужна помощь.
Сводка: мне нужен способ заполнить свой столбец Элемент и Количество номерами деталей и количествами, хранящимися в базе данных Access - столбцы БД [PO #, PartNumber, Количество]
Извините, если это кажется большим / недостаточно информации. Мне просто нужна помощь.