我想对一个网格进行排序。我创建了一个内存表,并将其链接到网格作为数据源。我从nxQuery对象向内存表插入数据。为了进行排序,我还必须在内存表中添加索引。
这是在创建事件中添加索引和插入数据的部分。
nxMemTable1.IndexDefs.Clear;
nxMemTable1.FieldDefs.Clear;
nxMemTable1.FieldDefs.Add('packpatientid', ftInteger, 0, False);
nxMemTable1.FieldDefs.Add('firstname', ftString, 10, False);
nxMemTable1.FieldDefs.Add('lastname', ftString, 10, False);
while not nxQuery1.EOF do
begin
nxMemTable1.Append;
nxMemTable1.FieldByName('packpatientid').AsInteger := nxQuery1packpatientid.AsInteger;
nxMemTable1.FieldByName('firstname').AsString := nxQuery1firstname.AsString;
nxMemTable1.FieldByName('lastname').AsString := nxQuery1lastname.AsString;
nxMemTable1.Post;
end;
以下是我尝试对内存表进行排序的代码:
procedure TForm1.Button2Click(Sender: TObject);
begin
nxMemTable1.IndexFieldNames := 'firstname';
end;
但是这个方法并没有起作用。当我点击按钮时,它会显示“字段 'firstname' 没有索引”。