Member 13153537 Ответов: 1

Как добавить серийный номер в datagridview в приложении C# windows


У меня есть bankname combobox, datagridview, одна кнопка сохранения и кнопка добавления .Если выбрать bankname из выпадающего списка.Доступные записи, отображаемые в datagridview на основе выбранного банка.
после того, как я нажму кнопку Добавить.сначала я добавляю новую пустую строку в datatable в 0-й позиции и привязываю к datagridview.
То,что я хочу, - это то, что я выбрал строку datagridview, которая показывает, как slno=1 startno=100012.Если сейчас, если я нажму кнопку Добавить пустую строку, добавив штраф, но уже существовавшую запись, изменил slno=2, новую строку slno=1, это моя проблема.Как это решить.Пожалуйста, помогите мне в этом.заранее спасибо.

Что я уже пробовал:

private void btnadd_Click(object sender, EventArgs e)
     {
         if (cmbbankname.SelectedIndex != 0)
         {
             dts.Rows.InsertAt(dts.NewRow(),0);
             LoadSerial();
         }
         else
         {
             MessageBox.Show("Select BankName for Adding New Record");
         }
     }
        private void LoadSerial()
      {
         int i = 1;
         foreach (DataGridViewRow row in dgvwChqs.Rows)
         {
             row.Cells["Slno"].Value = i; i++;
         }
     }

1 Ответов

Рейтинг:
2

Animesh Datta

Привет ,
Почему вы пытаетесь вставить новую строку в верхнюю позицию таблицы с помощью приведенного ниже кода

dts.Rows.InsertAt(dts.NewRow(),0)
поэтому сльно изменился соответственно. Просто добавьте строку за строкой Add метод вместо Insert метод.

DataRow dr = dts.NewRow();
dr[0] = "coldata1";
dr[1] = "coldata2";
dr[2] = "coldata3";
dr[3] = "coldata4";

dts.Rows.Add(dr);//this will add the row at the end of the datatable

Спасибо


Member 13153537

Я хочу, чтобы недавно добавленное Slno отображалось в верхней части datagridview.

Animesh Datta

Для существующей записи slno должен начинаться с 2, так как новая запись уже вставлена в верхнюю позицию.

Member 13153537

Что я хочу, так это то, что в моем datagridview у меня уже была 1 строка .Если я добавлю новую строку, она будет добавлена в верхней части datagridview с slno 2.

Animesh Datta

На мой взгляд, не вызывайте функцию LoadSerial () каждый раз, когда добавляется новая строка.Вместо этого вы можете вызвать LoadSerial() в первый раз, когда запись извлекается из базы данных, а затем увеличить slno для новой записи, которая вставляется динамически.

Member 13153537

Спасибо за ваш ответ.