Удалить повторяющиеся строки из таблицы данных без новой кнопки

Самый быстрый способ добиться этого:

<v-text-field
    v-bind:value="getEntryFieldData(column)"
    :label="column.headerName"
    :disabled="disable || i == 0 || i == 4">
</v-text-field>
1
задан heymycoder 20 January 2019 в 19:37
поделиться

2 ответа

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

string q = "SELECT DISTINCT c1, c2, c3 FROM mytable......";

И вместо того, чтобы перебирать каждую строку в datatable, вы можете просто использовать свойство DataSource из DataTable, например,

SqlDataAdapter s = new SqlDataAdapter(q, c);
DataTable d = new DataTable();
s.Fill(d);
dgw.DataSource = dt;

Edit1: [1114 ]

Вы можете проверить строку перед добавлением ее в представление сетки данных, например,

foreach (DataRow r in d.Rows)
{
    bool existingRow = dgw.Rows
                          .Cast<DataGridViewRow>().AsEnumerable()
                          .Any(x =>
                                Convert.ToString(x.Cells["Column1"].Value).Split(' ')[0] == r["c1"].ToString() &&
                                Convert.ToString(x.Cells["Column1"].Value).Split(' ')[1] == r["c2"].ToString() &&
                                Convert.ToInt32(x.Cells["Column2"].Value) == Convert.ToInt32(r["c3"])
                           );

     if (!existingRow)
         dgw.Rows.Add(r["c1"].ToString() + " " + r["c2"].ToString(), r["c3"]);
}

Где:

  • Column1 и Column2 столбцы в виде сетки данных.
  • c1, c2 и c3 являются столбцами в таблице данных
0
ответ дан er-sho 20 January 2019 в 19:37
поделиться
  • Эти строки не являются дубликатами. Вы должны обработать это в вашем SQL select
  • Каков ваш сценарий? Если вы группируете по столбцу 1, как насчет столбца 2?
  • Сумма? Максимум? Среднее? какой?
0
ответ дан CodeMan 20 January 2019 в 19:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: