关于TreeView的问题 有三个省份,每个省份有三个市,每个市有三个县我想作成一个多级目录把每个省份名,市名,县名输入到TreeView中(都已在数据库中存储)该如何做 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://www.csdn.net/expert/topic/901/901024.xml?temp=8.260745E-02你看看这个吧,或许有帮助! procedure TForm1::FormCreate(TObject *Sender){ ClientDataSet.Active:=true; TTreeNode *SubNode=TreeView1.Items.Add(NULL,"My RootNode"); ClientDataSet.IndexFieldNames :="/*省份ID*/"; TLocateOptions Opts; Opts.Clear(); Opts<<loCaseInsensitive; ClientDataSet.Locate("/*省份ID*/","",Opts); AddChildNode(SubNode,ClientDataSet);}function TForm1.AddChildNode(TTreeNode *Node,TClientDataSet *DataSet){ AnsiString /*市ID*/:=DataSet.FieldByName("/*市ID*/").AsString; AnsiString /*省份ID*/:=DataSet.FieldByName("/*省份ID*/").AsString; int RecordNo:=DataSet.RecNo; int *RecNo=new int(RecordNo); TTreeNode *SubNode=TreeView1.Items.AddChildObject(Node,DataSet.FieldByName("市").AsString,RecNo); if( DataSet.Locate("/*省份ID*/",/*市ID*/,TLocateOptions()<<loCaseInsensitive)){ AddChildNode(SubNode,DataSet); DataSet.RecNo=RecordNo; } DataSet.Next(); if(!DataSet.Eof && /*省份ID*/==DataSet.FieldByName("/*省份ID*/")->AsString){ AddChildNode(Node,DataSet); }}C++Builder 转行,可能语法不太合理,请指教。 Procedure Form1.form1create(sender:Tobject);var SubNode:TTreeNode; ParentNode:Array[1..3] of TTreeNode;begin ParentNode[1]:=Treeview1.Items.add(nil,Adotable.FieldByname['city1']); ParentNode[2]:=Treeview1.Items.add(nil,Adotable.FieldByname['city2']); ParentNode[3]:=Treeview1.Items.add(nil,Adotable.FieldByname['city3']); TreeView1.items.addChina(ParentNode[1],Adotable.FieldByname[县1]); 。。end; To ppilu(ppilu)我的油箱[email protected]谢谢 灰鸽子开启远程视频问题?? 关于SizeOf的疑问,请教大家 循环显示图片很简单但是没做出来:) 如何不让光驱手动开 就要转正了,给点意见,我该提多少工资? 一个三层结构中间层的问题!高手请进!!1 图像闪烁怎么解决? 难道没人知道吗? 小妹?^_^?捉虫:不能向数据库中添加数据? 如何通过一个菜单点击去发送一个消息给Form,使Form能翻译成多语言的?????????/ 难。。。。 用adotable可以不让DBGRID自动提交记录
你看看这个吧,或许有帮助!
{
ClientDataSet.Active:=true;
TTreeNode *SubNode=TreeView1.Items.Add(NULL,"My RootNode");
ClientDataSet.IndexFieldNames :="/*省份ID*/"; TLocateOptions Opts;
Opts.Clear();
Opts<<loCaseInsensitive;
ClientDataSet.Locate("/*省份ID*/","",Opts);
AddChildNode(SubNode,ClientDataSet);
}function TForm1.AddChildNode(TTreeNode *Node,TClientDataSet *DataSet)
{
AnsiString /*市ID*/:=DataSet.FieldByName("/*市ID*/").AsString;
AnsiString /*省份ID*/:=DataSet.FieldByName("/*省份ID*/").AsString;
int RecordNo:=DataSet.RecNo;
int *RecNo=new int(RecordNo);
TTreeNode *SubNode=TreeView1.Items.AddChildObject(Node,DataSet.FieldByName("市").AsString,RecNo); if( DataSet.Locate("/*省份ID*/",/*市ID*/,TLocateOptions()<<loCaseInsensitive)){
AddChildNode(SubNode,DataSet);
DataSet.RecNo=RecordNo;
}
DataSet.Next();
if(!DataSet.Eof && /*省份ID*/==DataSet.FieldByName("/*省份ID*/")->AsString){
AddChildNode(Node,DataSet);
}
}
C++Builder 转行,可能语法不太合理,请指教。
var
SubNode:TTreeNode;
ParentNode:Array[1..3] of TTreeNode;
begin
ParentNode[1]:=Treeview1.Items.add(nil,Adotable.FieldByname['city1']);
ParentNode[2]:=Treeview1.Items.add(nil,Adotable.FieldByname['city2']);
ParentNode[3]:=Treeview1.Items.add(nil,Adotable.FieldByname['city3']);
TreeView1.items.addChina(ParentNode[1],Adotable.FieldByname[县1]);
。。
end;
我的油箱[email protected]
谢谢