1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление

Сортировка Dataset

Тема в разделе ".NET - программирование", создана пользователем Balda, 4 дек 2008.

  1. Balda

    Balda Гость

    Репутация:
    0
    Пишу в MS VS .NET 2003.
    Нужно отсортировать данные в dataSet по значению первого столбца.
    Пробую реализовать это так:
    Код:
    private void Sort(System.Data.DataSet ds)		
    {			
    System.Data.DataRow dr;
    
    for(int i=0; i<ds.Tables[0].Rows.Count;i++) 
    for(int j=i; j<ds.Tables[0].Rows.Count-1;j++)
    if((System.DateTime)ds.Tables[0].Rows[j][0]>(System.DateTime)ds.Tables[0].Rows[j+1][0])
    { 				
    dr = ds.Tables[0].Rows[j];
    
    for(int k=0;k<ds.Tables[0].Columns.Count;k++)
    {
    ds.Tables[0].Columns[k].ReadOnly = false;
    ds.Tables[0].Rows[j][k] = ds.Tables[0].Rows[j+1][k];
    dr.RejectChanges();
    ds.Tables[0].Rows[j+1][k] = dr[k];
    }
    }
    
    }
    Чтобы поменять строки dataSet местами надо куда-то сохранять одну из них. Я сохраняю в dataRow
    Код:
    dr = ds.Tables[0].Rows[j];
    Но тогда возникает проблема: при изменении dataSet изменяеться также и dataRow, а при отмене изменений в dataRow
    Код:
    dr.RejectChanges();
    отменяються и изменения в dataSet. В результате данные не сортируються.
    Как быть?
     
  2. etc

    etc Гость

    Репутация:
    0
    Начать с основ и понять что так не делают.
    А вот "как делают", зависит от конкретики. Можно и через DataTable.Select, а можно и DataView.
    Для чего вам клиентская сортировка?
     
  3. Balda

    Balda Гость

    Репутация:
    0
    В данной таблице отображаються данные личных дел сотрудников.
    Эти данные вытягиваються запросами из разных таблиц БД.
    Но в документе они должны быть отсортированы по дате.
     
  4. etc

    etc Гость

    Репутация:
    0
    В какой таблице? В DataTable? В DataTable никогда и ничего не отображаеться это только лишь контейнер для хранения информации.
    Почему не сортировать тоже в запросе? Всяко это быстрее.
    Я спрашивал для чего именно клиентская.
     
  5. Young Programmer

    Young Programmer Гость

    Репутация:
    0
    наверное, проще в запросе сразу сделать сортировку и не мучаться. Или с помощью cвойства Sort класса DataView.
     
Загрузка...

Поделиться этой страницей