var
oSQL:TADOQuery;
sSelect:string;
liBook:TListItem;
begin
oSQL:=TADOQuery.create(Application);
oSQL.ConnectionSTring:=GetConnectionSTring;
oSQL.CacheSize:=1000;
sSelect:=GetNewBookQueryString; if not OpenSQL_ADO(oSQL,sSelect,_ErrorSQL_PrintnewBookfrm_RefreshCheckBoxListView) then
begin
oSQL.close;
oSQL.free;
exit;
end;
lvBookList.Items.Clear;
while not oSQL.eof do
begin
liBook:=lvBookList.Items.Add;
liBook.Caption:=trim(oSQL['barcode']);
liBook.SubItems.Add(oSQL['bookname']);
liBook.subItems.Add(oSQL['price']);
liBook.subItems.add(oSQL['company']);
liBook.Checked:=true;
oSQL.Next;
end;
oSQL.close;
oSQL.free;
oSQL:TADOQuery;
sSelect:string;
liBook:TListItem;
begin
oSQL:=TADOQuery.create(Application);
oSQL.ConnectionSTring:=GetConnectionSTring;
oSQL.CacheSize:=1000;
sSelect:=GetNewBookQueryString; if not OpenSQL_ADO(oSQL,sSelect,_ErrorSQL_PrintnewBookfrm_RefreshCheckBoxListView) then
begin
oSQL.close;
oSQL.free;
exit;
end;
lvBookList.Items.Clear;
while not oSQL.eof do
begin
liBook:=lvBookList.Items.Add;
liBook.Caption:=trim(oSQL['barcode']);
liBook.SubItems.Add(oSQL['bookname']);
liBook.subItems.Add(oSQL['price']);
liBook.subItems.add(oSQL['company']);
liBook.Checked:=true;
oSQL.Next;
end;
oSQL.close;
oSQL.free;
解决方案 »
- as3 delphi向flash发送数据问题
- 高分求助,按以下需求用delphi写代码?
- 怎么把TXT文件导入到 Excel 啊
- 问一个DLL的问题
- 简单问题 怎样用findfirst-findnext实现文件查找递归既查询一个目录下所有文件和目录
- 我也想“考古”,请拥有的朋友进来看看
- 从TBlobField里读出的数据,怎么样才能转化成某个类的实例?
- 500分请教!!高手请进!关于WINDOWS消息及WIN API函数的问题?在线等待!急!!!!!!!
- 如何使窗体像任务栏一样显示在最前且其他窗体最大化也不会与其重叠
- delphi 5.0企业版升级包的序列号!!!急急急!!!
- adoquery中的时间参数为空时,怎么设置?????
- TreeView与数据库中表中的数据关联如何处理〉?
listview.subitems.add();
MyRecPtr: PMyRec;
TreeViewIndex: LongInt;
begin
New(MyRecPtr);
MyRecPtr^.FName := Edit1.Text;
MyRecPtr^.LName := Edit2.Text;
TreeViewIndex := StrToInt(Edit3.Text);
with TreeView1 do
begin
if Items.Count = 0 then
Items.AddObject(nil, 'Item' + IntToStr(TreeViewIndex), MyRecPtr)//加入节点
elseif (TreeViewIndex < Items.Count) and (TreeViewIndex >= 0) then
Items.AddObject(Items[TreeViewIndex], 'Item' + IntToStr(TreeViewIndex), MyRecPtr); end;
end;TreeView1.Items.AddChildObject(TreeView1.Selected,'New Item',MyBitMap); //加入孩子
最好自己来控制排序,如下所示:function CustomSortProc( Item1, Item2 : TListItem; lParam : LongInt ) : Integer; stdcall;
begin
if lParam >= 0 then //lParam中保存的是SubItem的Index
begin
result := -CompareText(Item1.SubItems.Strings[lParam],
Item1.SubItems.Strings[lParam] );
end else
result := 0;
end;在ListView的ColumnClick事件响应方法中输入
CustomSort(@CustomSortProc, Column.Index );
procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
var
p:trect;
begin
if cdsselected in state then
begin
listview1.Canvas.Font.Color:=clgreen;
listview1.Canvas.brush.Color:=clred;
p:=item.displayrect(drselectbounds);
listview1.Canvas.FillRect(p);
listview1.Canvas.Textout(p.Left+2,p.Top,item.Caption);
listview1.Canvas.brush.Color:=clblue;
listview1.Canvas.FrameRect(item.displayrect(drselectbounds));
defaultdraw:=false;
end;
end;
procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
var
p:trect;
begin
if cdsselected in state then
begin
listview1.Canvas.Font.Color:=clgreen;
listview1.Canvas.brush.Color:=clred;
p:=item.displayrect(drselectbounds);
listview1.Canvas.FillRect(p);
listview1.Canvas.Textout(p.Left+2,p.Top,item.Caption);
listview1.Canvas.brush.Color:=clblue;
listview1.Canvas.FrameRect(item.displayrect(drselectbounds));
defaultdraw:=false;
end;
end;
procedure TMDIChild.downBtnClick(Sender: TObject);
Var
ts: TListItem;
dataid:pdatanode;
tdc,tds1,tds2,tsc,tss1,tss2,pxsql:string;
movid,m:integer;begin
if rzlistview1.Selected<>nil then
begin
j:=rzlistview1.Items.Count;
if j<>0 then
begin
ts:=rzListView1.Selected;
rzListView1.SetFocus;
i:=ts.Index;
if i<j-1 then
begin
tsc:= rzlistview1.Items[i].Caption;
tss1:=rzlistview1.Items[i].SubItems[0];
tss2:=rzlistview1.Items[i].SubItems[1];
rzlistview1.Refresh;
rzListView1.Items[i+1].Selected:=true;
rzListView1.SetFocus;
tdc:=rzlistview1.Items[i+1].Caption;
tds1:=rzlistview1.Items[i+1].SubItems[0];
tds2:=rzlistview1.Items[i+1].SubItems[1];
rzlistview1.Items[i+1].Caption:=tsc;
rzlistview1.Items[i+1].SubItems[0]:=tss1;
rzlistview1.Items[i+1].SubItems[1]:=tds2;
rzlistview1.Items[i].Caption:=tdc;
rzlistview1.Items[i].SubItems[0]:=tds1;
rzlistview1.Items[i].SubItems[1]:=tss2;
end;
end;
dataid:=rztreeview1.Selected.Data;
movid:=integer(dataid.ID);
{ Datamodule3.ADOTable2.Filtered :=true;
Datamodule3.ADOTable2.Filter := 'sxparent='+inttostr(movid);
Datamodule3.ADOTable2.Sort:='sxsort';
datamodule3.ADOTable2.First;}
pxsql:='select * from zbtable where sxparent='+inttostr(movid);
With DataModule3.ADOQuery1 Do
Begin
Close;
SQl.Clear;
SQl.add(pxsql);
open;
End;
DataModule3.ADOQuery1.Sort:='sxsort';
for m:=0 to rzlistview1.Items.Count-1 do
begin
DataModule3.ADOQuery1.Locate('id',rzlistview1.Items[m].Caption,[lopartialkey]);
datamodule3.ADOQuery1.Edit;
datamodule3.ADOQuery1.FieldByName('sxsort').value:=strtoint(rzlistview1.Items[m].SubItems[1]);
datamodule3.ADOQuery1.Post;
end;
end;
end;
procedure TMDIChild.downBtnClick(Sender: TObject);
Var
ts: TListItem;
dataid:pdatanode;
tdc,tds1,tds2,tsc,tss1,tss2,pxsql:string;
movid,m:integer;begin
if rzlistview1.Selected<>nil then
begin
j:=rzlistview1.Items.Count;
if j<>0 then
begin
ts:=rzListView1.Selected;
rzListView1.SetFocus;
i:=ts.Index;
if i<j-1 then
begin
tsc:= rzlistview1.Items[i].Caption;
tss1:=rzlistview1.Items[i].SubItems[0];
tss2:=rzlistview1.Items[i].SubItems[1];
rzlistview1.Refresh;
rzListView1.Items[i+1].Selected:=true;
rzListView1.SetFocus;
tdc:=rzlistview1.Items[i+1].Caption;
tds1:=rzlistview1.Items[i+1].SubItems[0];
tds2:=rzlistview1.Items[i+1].SubItems[1];
rzlistview1.Items[i+1].Caption:=tsc;
rzlistview1.Items[i+1].SubItems[0]:=tss1;
rzlistview1.Items[i+1].SubItems[1]:=tds2;
rzlistview1.Items[i].Caption:=tdc;
rzlistview1.Items[i].SubItems[0]:=tds1;
rzlistview1.Items[i].SubItems[1]:=tss2;
end;
end;
dataid:=rztreeview1.Selected.Data;
movid:=integer(dataid.ID);
{ Datamodule3.ADOTable2.Filtered :=true;
Datamodule3.ADOTable2.Filter := 'sxparent='+inttostr(movid);
Datamodule3.ADOTable2.Sort:='sxsort';
datamodule3.ADOTable2.First;}
pxsql:='select * from zbtable where sxparent='+inttostr(movid);
With DataModule3.ADOQuery1 Do
Begin
Close;
SQl.Clear;
SQl.add(pxsql);
open;
End;
DataModule3.ADOQuery1.Sort:='sxsort';
for m:=0 to rzlistview1.Items.Count-1 do
begin
DataModule3.ADOQuery1.Locate('id',rzlistview1.Items[m].Caption,[lopartialkey]);
datamodule3.ADOQuery1.Edit;
datamodule3.ADOQuery1.FieldByName('sxsort').value:=strtoint(rzlistview1.Items[m].SubItems[1]);
datamodule3.ADOQuery1.Post;
end;
end;
end;
procedure TMDIChild.downBtnClick(Sender: TObject);
Var
ts: TListItem;
dataid:pdatanode;
tdc,tds1,tds2,tsc,tss1,tss2,pxsql:string;
movid,m:integer;begin
if rzlistview1.Selected<>nil then
begin
j:=rzlistview1.Items.Count;
if j<>0 then
begin
ts:=rzListView1.Selected;
rzListView1.SetFocus;
i:=ts.Index;
if i<j-1 then
begin
tsc:= rzlistview1.Items[i].Caption;
tss1:=rzlistview1.Items[i].SubItems[0];
tss2:=rzlistview1.Items[i].SubItems[1];
rzlistview1.Refresh;
rzListView1.Items[i+1].Selected:=true;
rzListView1.SetFocus;
tdc:=rzlistview1.Items[i+1].Caption;
tds1:=rzlistview1.Items[i+1].SubItems[0];
tds2:=rzlistview1.Items[i+1].SubItems[1];
rzlistview1.Items[i+1].Caption:=tsc;
rzlistview1.Items[i+1].SubItems[0]:=tss1;
rzlistview1.Items[i+1].SubItems[1]:=tds2;
rzlistview1.Items[i].Caption:=tdc;
rzlistview1.Items[i].SubItems[0]:=tds1;
rzlistview1.Items[i].SubItems[1]:=tss2;
end;
end;
dataid:=rztreeview1.Selected.Data;
movid:=integer(dataid.ID);
{ Datamodule3.ADOTable2.Filtered :=true;
Datamodule3.ADOTable2.Filter := 'sxparent='+inttostr(movid);
Datamodule3.ADOTable2.Sort:='sxsort';
datamodule3.ADOTable2.First;}
pxsql:='select * from zbtable where sxparent='+inttostr(movid);
With DataModule3.ADOQuery1 Do
Begin
Close;
SQl.Clear;
SQl.add(pxsql);
open;
End;
DataModule3.ADOQuery1.Sort:='sxsort';
for m:=0 to rzlistview1.Items.Count-1 do
begin
DataModule3.ADOQuery1.Locate('id',rzlistview1.Items[m].Caption,[lopartialkey]);
datamodule3.ADOQuery1.Edit;
datamodule3.ADOQuery1.FieldByName('sxsort').value:=strtoint(rzlistview1.Items[m].SubItems[1]);
datamodule3.ADOQuery1.Post;
end;
end;
end;