请教:怎样表示DBGrid里被选中的行
2楼: DBGrid1.SelectedRows; 如进销存管理系统论文
3楼: DBGrid1.SelectedRows;好像不能对数据进行添加删除操作
所以再请教,如何对选中的行进行添加,修改等操作
4楼: 多选并删除所选的内容
设置dbgrideh里的options里的dgmultiselect为true
设置dbgrideh里的options里的dgrowselect为true
删除代码为:
procedure TForm1.Button1Click(Sender: TObject);
begin
dbgrideh1.SelectedRows.Delete;
end;
5楼: 当然是可以修改的
设置dbgrideh里的options里的dgmultiselect为true,其它的按默认的设置,如果把dgrowselect设为True了那就改为了了。
6楼: dbgrideh1.SelectedRows是选择记录的BookMark
要用GoToBookMark 后就可以操作了
仓库管理软件版7楼: 试了一下,GoToBookMark不起作用
且上面大家只谈到Delete
如果要把选中行的某些Feild的值赋给别的变量,又该如何做
请指教!
8楼: for i:=0 to DBGrid1.SelectedRows.Count-1 do
begin
DBGrid1.DataSource.DataSet.GotoBookmark(Pointer(DBGrid1.SelectedRows[i]));
DBGrid1.DataSource.DataSet.Delete;
DBGrid1.DataSource.DataSet.Field...........都成了
end;
9楼: 删除
with DBGridEh1.DataSource.DataSet do
begin
delete;
close;
open;
end;
追加
append;
10楼: 主要进行的操作是把DBGrid中选中的行的某些字段赋给另一个表的某些字段
for i:=0 to (DBG.SelectedRows.Count-1) do
begin
.Append;
.FieldByName('',,,'').AsString:=????.AsString;
.FieldByName(''..'').AsString:=????.AsString;
.FieldByName(_Date'').AsDateTime:=StrToDateTime(formatdatetime(''yyyy/mm/dd'',now));
.Post;
.Next;
end;
等号左边的是另外一个表,不是DBGrid中显示的那个表,而右边是DBGrid中所选中行
的记录的某个字段,
所以问题就是如何表示????中的内容?
请指教
11楼: for i:=0 to (DBG.SelectedRows.Count-1) do
begin
.Append;
.FieldByName('',,,'').AsString:=String(DBGrid1.DataSource.DataSet.FieldValue[''yourfieldname'']);
.FieldByName(''..'').AsString:=String(DBGrid1.DataSource.DataSet.FieldValue[''yourfieldname'']);
.FieldByName(_Date'').AsDateTime:=StrToDateTime(formatdatetime(''yyyy/mm/dd'',now));
.Post;
.Next;
end;
12楼: 试了一下,好像写不进数据,
而且还有个问题:String(DBGrid1.DataSource.DataSet.FieldValue[''yourfieldname'']);
这条语句循环一次后,会不会指向下一个数据. 如教育软件销售技巧
13楼: 哦,还有这条语句
DBGrid1.DataSource.DataSet.next;
执行的是选中行的下一条记录;
还是整个表的下一条记录
仓库管理软件版14楼: 顶一下,问题棘手!
15楼: 注:如设置dbgrid里的options里的dgrowselect为true,
则不能在DBGRIDEH上进行手工编辑
16楼: 首先,要修改的表先要连接到一个Table后或Query,提供数据的连接到DBGrid1,将dgrowselect设为True
for i:=0 to DBGrid1.SelectedRows.Count-1 do
begin
DBGrid1.DataSource.DataSet.GotoBookmark(Pointer(DBGrid1.SelectedRows[i]));
Table1.Append;
Table1.FieldByName(''???'').Value:=DBGrid1.DataSource.DataSet.FieldByName
...
Table1.Post;
end;
这样肯定成
17楼: 接受答案了.