Я делаю программу для контроля или подсчета выходных данных. Я выбрал 3 столбца только в моем виде сетки МОДЕЛЬ, СТАНЦИЯ И ВЫХОД из моего источника данных. Как я могу добавить 2 столбца (TARGET_OUTPUT AND BALANCE_OUTPUT) в мое представление данных? и рассчитать баланс по Target_Output - Output?
и после добавления 2 столбцов и расчета Как я могу обновить свои старые данные, не затрагивая 2 новых столбца, которые я добавил?
Я попытался создать имя метода (Load_Data), чтобы получить 3 столбца из моего источника данных, я вызываю методы одним нажатием кнопки (LOAD DATA).
Я добавил свой код в добавление столбцов в кнопку (Add_Col)
Теперь моя проблема в том, как рассчитать каждый столбец.
и если я снова нажму кнопку для загрузки данных, как загрузить только 3 исходных столбца, не затрагивая 2 новых столбца?
//My method Load_Data
void Load_Data()
{
conn.Open();
cmd = new OleDbCommand("SELECT MODEL,STATION,COUNT
(DISTINCT(MO_SN))AS OUTPUT from dqc342 where TEST_DTTM between to_date('"
+ dtpFrom.Value.ToString("yyyyMMdd 08:00:00") + "','yyyymmdd
hh24:mi:ss')and to_date('" + dtpTo.Value.ToString("yyyyMMdd 07:59:59") +
"','yyyymmdd hh24:mi:ss')and station in('RC4','VMI2')and
LINE_NO='H5'GROUP BY LINE_NO,MODEL,STATION ORDER BY MODEL", conn);
reader = cmd.ExecuteReader();
if (reader.HasRows)
{
dt = new DataTable();
dt.Load(reader);
dataGridView_H5.DataSource = dt;
conn.Close();
reader.Close();
}
}
//code for adding column
private void Add_Col_Click(object sender, EventArgs e)
{
dataGridView_H5.Columns.Add("TARGET_COL", "TARGET_OUTPUT");
dataGridView_H5.Columns.Add("BALANCE_COL", "BALANCE_OUTPUT");
}
//code for calculating Balance ..OUTPUT-TARGET.
private void Calculate_Click(object sender, EventArgs e)
{
if (dataGridView_H5.Rows.Count > 0)
{
for (int i = 0; i < dataGridView_H5.Rows.Count; i++)
{
int sum =
Convert.ToInt32(dataGridView_H5.Rows[i].Cells[3].Value.ToString()) -
Convert.ToInt32(dataGridView_H4.Rows[i].Cells[2].Value.ToString());
dataGridView_H4.Rows[i].Cells[4].Value = sum.ToString();
}
}
Когда я нажимаю кнопку «Рассчитать», я получаю сообщение об ошибке «Индекс вышел за пределы допустимого диапазона», и когда я снова нажимаю кнопку «Загрузить», он удаляет все данные, введенные в целевой столбец. Я хочу загрузить 3 исходных столбца только из моего источника данных.