2.我用一个DataGrid来显示这个自定义数据集,
3.其中temp字段我设置了一个Checkbox来显示,我希望能够通过单击DataGrid的一条记录来勾选这条记录,在DataGrid的OnClick事件中的代码我是这样写的:
if DataSetYYZDYSJJ.Eof then exit;
if DataSetYYZDYSJJ.RecordCount>0 then
begin
DataSetYYZDYSJJ.Edit;
if DataSetYYZDYSJJ.FieldByName('temp').AsString='F' then
DataSetYYZDYSJJ.FieldByName('temp').AsString:='T'
else
DataSetYYZDYSJJ.FieldByName('temp').AsString:='F';
end;
4.通过点击一个RadioButton来全选或者取消选择,在RadioButton的onClick的事件中的代码如下:
if DataSetYYZDYSJJ.Eof then exit;
if RadioButton1.Checked then
begin
DataSetYYZDYSJJ.Last;
while not DataSetYYZDYSJJ.bof do
begin
DataSetYYZDYSJJ.edit;
DataSetYYZDYSJJ.FieldByName('temp').AsString:='T';
DataSetYYZDYSJJ.Refresh;
DataSetYYZDYSJJ.Prior;
end;
DataSetYYZDYSJJ.first;
end ;
更正一下2楼的,
3.其中temp字段我设置了一个Checkbox来显示,我希望能够通过单击DataGrid的一条记录来勾选这条记录,在DataGrid的OnClick事件中的代码我是这样写的:
if DataSetYYZDYSJJ.Eof then exit;
if DataSetYYZDYSJJ.RecordCount>0 then
begin
DataSetYYZDYSJJ.Edit;
if DataSetYYZDYSJJ.FieldByName('temp').AsString='F' then
DataSetYYZDYSJJ.FieldByName('temp').AsString:='T'
else
DataSetYYZDYSJJ.FieldByName('temp').AsString:='F';
end;
这里不需要你用代码去给他赋值的。
4.通过点击一个RadioButton来全选或者取消选择,在RadioButton的onClick的事件中的代码如下:
if DataSetYYZDYSJJ.Eof then exit;
if RadioButton1.Checked then
begin
DataSetYYZDYSJJ.Last;
while not DataSetYYZDYSJJ.bof do
begin
DataSetYYZDYSJJ.edit;
DataSetYYZDYSJJ.FieldByName('temp').AsString:='T';
DataSetYYZDYSJJ.Refresh;//取消这句
DataSetYYZDYSJJ.Prior;
end;
DataSetYYZDYSJJ.first;
end ;
另外,循环赋值的时候最好加上dataset.disablecontrols,循环结束后dataset.enablecontrols;