Как сделать, чтобы datagridview автоматически добавлял дополнительную строку, если конкретная ячейка имеет значение x? - PullRequest
0 голосов
/ 05 января 2019

Я написал код ниже, и он показывает только список истории значений переделки для продукта X. Если искомый класс продукта равен F, я хочу, чтобы он автоматически добавил дополнительную строку с последней последовательностью + 1.

Я мог бы сделать это, если бы использовал дополнительный комбинированный список или текстовое поле для поиска определенного продукта, но без него я не смог бы воспроизвести тот же результат.

<pre>try
            {
                con.Open();
                OracleCommand cmd = new OracleCommand("select a.prod_result_id, a.plant_code,  " +
                "a.order_no, c.item_code, d.item_name, a.prod_date, " +
                "a.label_print_date, a.lot_no, a.prod_type, a.prod_no, a.plt_no, a.grade, " +
                "b.rework_seq, b.diposition_code, b.defect_code, b.defect_code2, b.defect_code3, b.enrl_date as Inspection_Date " +
                "from t_prod_result a full outer join t_rework_history b on a.prod_result_id = b.prod_result_id " +
                ", t_prod_order_detail c, t_item d " +
                "where a.prod_order_no_d = c.prod_order_no_d and c.item_code = d.item_code " +
                "and a.plant_code = 'ABC111' and a.prod_result_id = '" + textBox1.Text + "' order by b.rework_seq", con);
                cmd.CommandType = CommandType.Text;
                OracleDataReader dr = cmd.ExecuteReader();
                System.Data.DataTable dt = new System.Data.DataTable();
                dt.Load(dr);
                dataGridView1.DataSource = dt;
                dataGridView1.ColumnHeadersVisible = true;
                dataGridView1.Columns[1].Width = 120;
                dataGridView1.Columns[5].Width = 150;
                dataGridView1.Columns[6].Width = 150;
                dataGridView1.Columns[7].Width = 150;
                dataGridView1.Columns[8].Width = 150;
                dataGridView1.Columns[14].Width = 120;
                dr.Close();
            }

            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

            finally
            {
                con.Close();
            }<code>

Так что все, что мне разрешено делать, это ввести prod_result_id в textbox1, и он может отображать результат оценки от A до F. Если значение ячейки в столбце оценки равно F и если у него есть последовательность переделок #, я хочу, чтобы он автоматически добавил дополнительную строку и отобразить максимальную последовательность переделок # + 1 в столбце rework_seq. Как мне это сделать?

...