Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.07.30;
Скачать: CL | DM;

Вниз

Можна ли отсортировать StringGrid по какому-то полю?   Найти похожие ветки 

 
fast2   (2006-07-07 21:19) [0]

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


 
Virgo_Style ©   (2006-07-07 21:47) [1]

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

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


 
fast2   (2006-07-07 22:07) [2]

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


 
Virgo_Style ©   (2006-07-07 22:27) [3]

fast2   (07.07.06 22:07) [2]

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


 
fast2   (2006-07-07 22:33) [4]

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


 
Virgo_Style ©   (2006-07-07 22:37) [5]

fast2   (07.07.06 22:33) [4]

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


 
fast2   (2006-07-07 22:41) [6]

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


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

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


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

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


 
Ketmar ©   (2006-07-08 13:17) [9]

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


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

Выдержка из проекта:
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;

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



Страницы: 1 вся ветка

Текущий архив: 2006.07.30;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.041 c
1-1150117477
неважно
2006-06-12 17:04
2006.07.30
Наследник TStringGrid a


1-1150362360
dwar
2006-06-15 13:06
2006.07.30
TAction и ShortCutList


6-1142861728
linox
2006-03-20 16:35
2006.07.30
Строка на отдельный IP.


2-1152788121
rra
2006-07-13 14:55
2006.07.30
Определение нажатой кнопки


15-1150815280
СК
2006-06-20 18:54
2006.07.30
Консультация Юриста