kozmikadam Ответов: 3

Удаление дубликатов строк из Gridview


Всем привет ,

В моей таблице sql есть такой дубликат элемента :

идентификатор item_id имя_пользователя-- -- -- корзина

1 1 - Джон - Пусто
2 1 - Джон - ордер_1
3 2 - Майк - ордер_2
4 2 - Майк - ордер_3
5 2 - Майк - ордер_4
6 3 - Даниил - ордер_5
7 4 - Саймон - ордер_6
8 4 - Саймон - ордер_7
9 5 - Джейн - ордер_8


когда я беру эти данные из sql в gridview , я хочу удалить дубликаты элементов в идентификаторе элемента


мой gridview должен быть таким :


идентификатор item_id-- -- имя_пользователя

1 1 - Иоанн
3 2 - Майк
6 3 - Даниил
7 4 - Симон
9 5 - Джейн

Как я могу это сделать ?

Я видел этот пост :

[^]


Но в этом посте gridview имеет несколько пустых ячеек , я не хочу видеть никаких пустых ячеек.

Спасибо.

Sergey Alexandrovich Kryukov

Интересно, почему бы не предотвратить создание дубликатов строк в первую очередь?
—СА

0x01AA

С моей точки зрения, вам не нужно удалять дубликаты из gridview, вы должны исправить свою логику!

Список результатов и данных в таблице не имеет большого смысла, по крайней мере для меня....

а) убедитесь, что ваша БД содержит полезные данные
б.) Выберите правильные данные из БД

3 Ответов

Рейтинг:
1

ZurdoDev

Это не проблема gridview, а проблема sql. Либо ваше соединение неверно, либо у вас плохие данные. Вы захотите исправить это в SQL.


0x01AA

Я согласен, 5.

kozmikadam

Это не моя БД. Итак , у нас есть много данных в этой базе данных, и я пытаюсь получить эти данные оттуда. Поэтому я ищу решение. Я не могу создать новую БД, у меня нет никаких разрешений на это.

ZurdoDev

Так что исправьте свой оператор SELECT.

Рейтинг:
1

Andre Oosthuizen

Я согласен с ответом Зурдодева, измените свой sql-оператор, чтобы загрузить данные/заполнить сетку правильными возвращаемыми данными, исключая дубликаты, используя SQL SELECT DISTINCT оператор -

SELECT DISTINCT user_name
  FROM my_table
ORDER BY id


CHill60

Я собираюсь противостоять 1-голосу, поскольку вы предоставили фактические средства для исправления SQL - оператора-я подозреваю, что понижающий голос был вызван тем, что этому вопросу уже 5 лет

Andre Oosthuizen

О боже, я никогда не видел даты сообщения, только отметку времени на последнем сообщении, когда оно выскочило наверху под неотвеченными вопросами, моя беда. Большое вам спасибо за положительный результат, я должен был проверить ТСК-ТСК!

Рейтинг:
0

Mirza_Mehran

Удалите все повторяющиеся строки из DataGridview
{
если (dataGridView1.Строк.Count >= 0)
{

for (int currentRow = 0; currentRow < dataGridView1.Rows.Count; currentRow++)
{
var rowToCompare = dataGridView1.Rows[currentRow]; // получить строку для сравнения с другими строками

// Итерация по всем строкам
//
по каждому элементу (ячейки datagridviewrow строку в dataGridView1.Строк)
{
if (rowToCompare.Равно(строка))
{
продолжить;
}
// Если строка-это та же самая сравниваемая строка, пропустите ее.

боол duplicateRow = истина;

// Сравните значение всех ячеек
if (rowToCompare.Ячейки[0].значение != null &&
rowToCompare.Ячейки[0].Значение.ToString() != строка.Ячейки[0].Значение.Метод toString())
{
duplicateRow = ложь;

}


если (duplicateRow)
{
dataGridView1.Rows.RemoveAt(row.Index);
перерыв;
}
}
}
}
}
ловить
{
}


CHill60

Никогда не оставляйте пустые блоки улова