Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Можна ли отсортировать StringGrid по какому-то полю? [D7, 95/98]


fast2 ©   (2006-07-07 21:19:00) 

Например, по первому.


так себе   (2006-07-08 13:46:00) [1]

Выдержка из проекта:
procedure TForm35.N5Click(Sender: TObject);
var
c,r:integer;//номер колонки и строки таблицы
m:integer;//Номер строки
i:integer;//Номер строки использ.во время сортировки
buf:array[0..4] of string;//буфер для обмена строк
begin
for r:=1 to StringGrid1.RowCount-1 do
   begin
   m:=r;//макс.элемент в r-строке
   for i:=r  to StringGrid1.RowCount-1 do
      if StringGrid1.Cells[0,i]<StringGrid1.Cells[0,m] then
          m:=i;
          if r<>m then
            begin
            for c:=0 to 4 do
              begin
               buf[c]:=StringGrid1.Cells[c,r];
               StringGrid1.Cells[c,r]:=StringGrid1.Cells[c,m];
               StringGrid1.Cells[c,m]:=buf[c];
              end;
            end;
    end;
end;

Подправь под свои запросы


Ketmar   (2006-07-08 13:17:00) [2]

>palva ©   (08.07.06 00:28) [7]
использовать тот же RxLib, где есть TMemoryDataSet (или что-то подобное). %-)


Германн   (2006-07-08 01:38:00) [3]

У TlistView есть сортировка. А TListView со стилем vsReport не очень-то отличается от TStringGrid.


palva   (2006-07-08 00:28:00) [4]

Свойство sort есть у TADODataSet. Т.е. Если вы отображаете его содержимое при помощи DBGrid, то у вас есть возможность сортировать по какой-то колонке или даже по нескольким сортируя DataSet. Для меня не понятен вопрос как заполнить DataSet без соединения с БД. Хотя в классическом ADO (без VCL) это делается легко.


fast2   (2006-07-07 22:41:00) [5]

т.е. метода типа StringGrid.Sort или StringGrig.Cols[0].Sort нет?


Virgo_Style   (2006-07-07 22:37:00) [6]

fast2   (07.07.06 22:33) [4]

одним из методов сортировки, коих великая туча, чуть модифицированным под конкретную задачу.


fast2   (2006-07-07 22:33:00) [7]

>можно, особенно если данные строковые...
остался вопрос - как?


Virgo_Style   (2006-07-07 22:27:00) [8]

fast2   (07.07.06 22:07) [2]

можно, особенно если данные строковые... если надо сравнивать числовые, то начинается чехарда с преобразованиями, неизящно %-)


fast2   (2006-07-07 22:07:00) [9]

Предварительно? А если я в СтрингГрид вывожу данные в беспорядке, то потом можна отсортировать?


Virgo_Style   (2006-07-07 21:47:00) [10]

не мона, а нуна (с).

StringGrid вполне в состоянии отображать любые данные, в том числе предварительно отсортированные.


Наверх

Титульная страница Поиск, карта сайта Написать письмо