在stringgrid和dbgrid中,我想对鼠标圈选的多行记录进行操作,比如删除。
比如:共有100条记录,我随便用鼠标圈选其中的12行,然后点按钮,删除这12行记录,后面的记录挪上来。
最好给出代码。谢谢!
比如:共有100条记录,我随便用鼠标圈选其中的12行,然后点按钮,删除这12行记录,后面的记录挪上来。
最好给出代码。谢谢!
解决方案 »
- 我想把一个RIDL文件转换为ACTIVEX,该怎么做?在线等待
- 遍历ftp地址下的文件夹并获取修改时间
- pagecontrol form 的show问题?????
- 请高手修正, 正尝试编写一个类似TLabeledEdit的聚合控件
- Delphi连接MYSQL问题!!!
- 求助Delphi高手(图像处理的二个问题)
- 急?小问题
- please,help me ,very thankyou
- 哪位高手能将我的VB代码转换为Delphi? 多谢谢
- 第一次 .........^_^就这么一堆错!!伤心……呵……呵
- 关闭windows(包括2000和XP)程序代码
- 100分在线求助~~关于DBChart的系列问题!!老大们帮帮忙呀~~~
var
i, j: Integer;
s: string;
begin
if DBGrid1.SelectedRows.Count>0 then
with DBGrid1.DataSource.DataSet do
for i:=0 to DBGrid1.SelectedRows.Count-1 do
begin
GotoBook(pointer(DBGrid1.SelectedRows.Items[i]));
for j := 0 to FieldCount-1 do
begin if (j>0) then s:=s+', ';
s:=s+Fields[j].AsString;
end;
Listbox1.Items.Add(s);
s:= '';
end;
end;delphi自带的example , 应该对你有所帮助
只要在对应的数据集里(比如QUERY1)写QUERY1。DELETE就行了,自动上来
stringgrid.Selection.top可以得到区域上限;
stringgrid.Selection.bottom可以得到区域下限;那么dbgrid呢,没有数据源的
z: integer;
i: integer;
booklist: Tbooklist;
book: tbookstr;
begin
book := Book;
booklist := dbgrid1.SelectedRows;
for i := 0 to booklist.Count - 1 do
begin
Book := booklist[i];
end;
end;
procedure TForm1.stringgriddelClick(Sender: TObject);
var
i,j,s,e:integer;
begin
s := stringgrid1.Selection.Top;
e := stringgrid1.Selection.Bottom;
for i:=0 to stringgrid1.RowCount-e-2 do
stringgrid1.Rows[s+i].Assign(stringgrid1.Rows[e+i+1]);
stringgrid1.RowCount := stringgrid1.RowCount - e + s + 1;
end;