Пробував двома варіантами сортувати але обидва щось непрацюють.
Першим пробував через DBGrid>TitleClick
procedure TMainForm.LangGrTitleClick(Column: TColumn);
Var
f:string;
begin
if DBGrid.DataSource.DataSet.FieldByName(Column.FieldName).Tag=0 then
begin
f :=' ASC';
DBGrid1.DataSource.DataSet.FieldByName(Column.FieldName).Tag := 1;
end
else
begin
f :=' DESC';
DBGrid1.DataSource.DataSet.FieldByName(Column.FieldName).Tag := 0;
end;
DBGrid1.DataSource.DataSet.Sort:=Column.FieldName + f;
end;
Помилка виходить тут(виділена червоним) DBGrid1.DataSource.DataSet.Sort:=Column.FieldName + f;
Другий варіант у мене такий:
procedure TSortForm.SaveBtClick(Sender: TObject);
var
ParamSort: String;
begin
If RadioButton1.Checked then
begin
ParamSort:=' ASC'
end;
If RadioButton2.Checked then
begin
ParamSort:=' DESC'
end;
If ComboBox1.ItemIndex=0 then
begin
MainForm.DBGrid1.DataSource.DataSet.IndexFieldNames:='ID'+ParamSort;
end;
If ComboBox1.ItemIndex=1 then
begin
MainForm.DBGrid1.DataSource.DataSet.IndexFieldNames:='Foreign'+ParamSort;
end;
If ComboBox1.ItemIndex=2 then
begin
MainForm.DBGrid1.DataSource.DataSet.IndexFieldNames:='Ukrainian'+ParamSort;
end;
end;
У другому варіанті помилку вибиває тут:-"IndexFieldNames"
Хоча якщо другий варіант спростити так як нище то працює відмінно.
procedure TSortForm.SaveBtClick(Sender: TObject);
var
ParamSort: String;
begin
If RadioButton1.Checked then
begin
ParamSort:=' ASC'
end;
If RadioButton2.Checked then
begin
ParamSort:=' DESC'
end;
If ComboBox1.ItemIndex=0 then
begin
RiderForm.ADOTable1.IndexFieldNames:='ID'+ParamSort;
end;
If ComboBox1.ItemIndex=1 then
begin
RiderForm.ADOTable1.IndexFieldNames:='Foreign'+ParamSort;
end;
If ComboBox1.ItemIndex=2 then
begin
RiderForm.ADOTable1.IndexFieldNames:='Ukrainian'+ParamSort;
end;
end;
Може хтось підкаже в чому моя помилка буду дуже вдячний.