RAD Studio 10.2.3 测试√
procedure TForm_DBControl.Button_AppendClick(Sender: TObject);
begin
ClientDataSet_1.Append;
with ClientDataSet_1.Fields do
begin
FieldByName('字段1').AsString := '追加1';
FieldByName('字段2').AsString := '追加2';
FieldByName('字段3').AsString := '追加3';
end;
ClientDataSet_1.Post;
end;
procedure TForm_DBControl.Button_ClientDataSetClick(Sender: TObject);
begin
Memo_Log.Lines.Add('这个功能是 把 ClientDataSet_1 里面的数据通过 DataSource 在 DBGrid_1 中展示');
with ClientDataSet_1 do
begin
Close;
FieldDefs.Clear; // 清空已定义的字段
// 开始添加字段
with FieldDefs.AddFieldDef do
begin
Name := '字段1'; // 字段名
DataType := ftString; // 字段类型
end;
with FieldDefs.AddFieldDef do
begin
Name := '字段2'; // 字段名
DataType := ftString; // 字段类型
end;
with FieldDefs.AddFieldDef do
begin
Name := '字段3'; // 字段名
DataType := ftString; // 字段类型
end;
CreateDataSet; // 创建数据集
Open; // 激活和打开数据集
// 这里是设置字段在显示时候所占宽
with Fields do
begin
FieldByName('字段1').DisplayWidth := 10;
FieldByName('字段2').DisplayWidth := 20;
FieldByName('字段3').DisplayWidth := 30;
end;
// 然后开始给相应的字段追加内容
Append;
with Fields do
begin
FieldByName('字段1').AsString := '0, 0';
FieldByName('字段2').AsString := '0, 1';
FieldByName('字段3').AsString := '0, 2';
end;
Append;
with Fields do
begin
FieldByName('字段1').AsString := '1, 0';
FieldByName('字段2').AsString := '1, 1';
FieldByName('字段3').AsString := '1, 2';
end;
Append;
with Fields do
begin
FieldByName('字段1').AsString := '2, 0';
FieldByName('字段2').AsString := '2, 1';
FieldByName('字段3').AsString := '2, 2';
end;
Post;
end;
// 数据已经有了,然后就需要设置 DataSource 进行数据的分发了
DataSource_1.DataSet := ClientDataSet_1;
// 然后就是让 DBGrid_1 绑定 DataSource_1
DBGrid_1.DataSource := DataSource_1;
end;
procedure TForm_DBControl.Button_DeleteClick(Sender: TObject);
var
mStr: string;
mArr: array[0..255] of WideChar;
begin
mStr := '是否确认删除: ' + ClientDataSet_1.Fields.FieldByName('字段1').AsString;
if MessageBox(self.Handle, StringToWideChar(mStr, mArr, Length(mStr) + 1), '提示', MB_OKCANCEL or MB_ICONINFORMATION) = IDOK then
ClientDataSet_1.Delete;
end;
一点点笔记,以便以后翻阅。