Добавлено спустя 5 минут:
UPD ещё какой то непонятный глюк - последний столбец не отображает данных, просто пустые ячейки, если добавляю пустой столбец то в предыдущем всё ок, данные показываются о_О
Добавлено спустя 16 минут 53 секунды:
UPD2 поставил стандартный грид, всё ок, все данные отображаются корректно, TitleClick отрабатывает на нажатие левой кнопки мыши как надо
автор ответь пожалуйста, очень надо использовать rxDBGrid
Добавлено спустя 16 часов 14 секунд:
с сортировкой разобрался, свойство AutoSort поставил в false и сразу стала работать сортировка по щелчку левой кнопкой...
Добавлено спустя 2 минуты 5 секунд:
остаётся вопрос по последнему столбцу, в desigtime режиме активировал набор данных, всё ок, последний столбец отображает данные... в рантайме не хочет
Добавлено спустя 41 минуту 30 секунд:
отключил индикатор, последний столбец стал показывать данные, буду разбираться
Добавлено спустя 33 минуты 3 секунды:
в общем времени разбираться нету добавил следующий код
- Код: Выделить всё
procedure TGemsForm.RxDBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if Column.Index=TDBGrid(Sender).Columns.Count-1 then begin
TDBGrid(Sender).Canvas.TextOut(Rect.Left+2,Rect.Top+2,Column.Field.Text);
TDBGrid(Sender).Canvas.Font.Style:=[];
end;
TDBGrid(Sender).DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
данные выводятся...
надеюсь автор объяснит данные недостатки, почему так
Добавлено спустя 1 час 35 минут 6 секунд:
ещё обнаружил ошибку: если вызвать диалог изменения видимости и расположения столбцов (TrxDBGridColumsForm) и попытаться нажать кнопку смещения столбца вниз, при этом не выделив в листбоксе ни одной строки, генерируется ошибка Out of bounds
вот в этом месте кода:
- Код: Выделить всё
procedure TrxDBGridColumsForm.SpeedButton2Click(Sender: TObject);
var
S:string;
i:integer;
begin
if CheckListBox1.Items.Count > 1 then
begin
if CheckListBox1.ItemIndex<CheckListBox1.Items.Count-1 then
begin
i:=CheckListBox1.ItemIndex+1;
S:=CheckListBox1.Items[CheckListBox1.ItemIndex];
CheckListBox1.Items[CheckListBox1.ItemIndex]:=CheckListBox1.Items[i];
CheckListBox1.Items[i]:=S;
CheckListBox1.ItemIndex:=i;
end;
end;
end;