Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Сортировка в гриде


Автор: mr.DUDA 15.7.2007, 22:15
Вопрос был: как отсортировать записи в DataGridView так чтобы, к примеру фамилия и имя были упорядочены.

Нашёл решение, нужно переопределить событие sorting следующим образом.
Код

protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
{
    string oldExpression = GridView1.SortExpression;
    string newExpression = e.SortExpression;
    if (oldExpression.IndexOf(newExpression) < 0)
    {
        if (oldExpression.Length > 0)
             e.SortExpression = oldExpression + ", " + 
newExpression;
         else
             e.SortExpression = newExpression;
     }
     else
     {
         e.SortExpression = oldExpression;
     }
}

Автор: http://vingrad.ru/@fear Источник: http://forum.vingrad.ru/index.php?show_type=forum&showtopic=163529

Автор: archimed7592 20.10.2007, 12:40
Гхм, что это делает в разделе FAQ по С++? smile 

Автор: AndreyK 22.10.2007, 18:55
Вот ,к стати, у меня по этой теме давно зрел вопрос:

Большинство последних гридов используют OLEDB и закачивают все данные в память (чуть ли не отдельную коллекцию создают) и там сортируют своими методами ... но ведь это очень рессурсоёмко и медленно, особенно для больших запросов... хотя конечно, они это всё делают частями, кэшируют и на первый взгляд всё быстро ... и это позволяет им раскрашивать записи разными цветами и пр.
Но я сравнивал скорость работы самых быстрых гридов на OLEDB со старыми, работающими через DAO, - старые - по крайней мере в три раза быстрее (даже на небольших запросах) и там лучший способ сортировки был - изменить SQL-запрос (добавить в него ORDER BY) - ведь быстрее SQL-сервера никто не отсортирует.

Но все эти гриды (DAO) считаються устаревшими и даже не рекомендуються в .NET...

...хотя я их не все на свете пересмотрел.

Кто скажет - существуют ли гриды, работающие через OLEDB, но напрямую с базой ,например, динамически отражающие все изменения в нём или ,хотя бы, не дублирующие информацию , как это было в гридах работающих с DAO.recordset или это такая особенность OLEDB и тут ничего нельзя сделать? 

Автор: zakazdiskovyura 30.10.2007, 14:37
Пожалуйста, помогите кто может. Проблема в следующем: необходимо программно заполнить некоторые поля в IExplorer'е (или Опере), примерно так же, как это делают программы-хранители паролей. Нигде и ничего по этому поводу мне найти не удалось! :(
Откликнитесь добрые люди!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)