View Full Version : لود كردن يك Query در Tree معمولي و تشخيص عنوان انتخاب شده
FirstLine
چهارشنبه 11 اردیبهشت 1387, 09:55 صبح
با سلام
از DBTree نميخوام استفاده كنم.
- چجوري ميتونم محتويات يك Query را در يك Tree معمولي نمايش دهم؟
- چجوري ميتونم ID مورد انتخاب شده را در Tree معمولي بدست بيارم؟
ديتابيس اكسس و جدول با 3 فيلد id , name , parentId
لطفا راهنمايي بفرماييد
با تشكر
hadisalahi2
چهارشنبه 11 اردیبهشت 1387, 10:12 صبح
بعد از اینکه Query رو اجرای کردی از ابتدای اون یکی یکی رکوردها رو بخون و به Tree اضافه کن
TreeView1.Items.Add(Adoquery1['name'])
FirstLine
چهارشنبه 11 اردیبهشت 1387, 12:41 عصر
با سلام
در اين قسمتش مشكلي نيست، مشكل دو چيزه
1- Query رو واسه اكسس چجوري بنويسم كه همه اطلاعات را بصورت مرتب بخونه؟ ()
2- چجوري ميشه ID اون گزينه اي كه انتخاب شده را بدست بيارم؟
با تشكر
hadisalahi2
چهارشنبه 11 اردیبهشت 1387, 13:15 عصر
منظورت از اینکه Query رو واسه اکسس چه جوری بنویسم که همه اطلاعات را به صورت مرتب بخونه یعنی چی ؟
اگه میشه بیشتر توضیح بده
FirstLine
چهارشنبه 11 اردیبهشت 1387, 13:43 عصر
با سلام
يعني ترتيب ركوردها دقيقا مانند DBTree باشد.
يا اينكه چجوري يه جدولي كه بصورت داراي 3 فيلد زير است را در يك tree معمولي نمايش بدهم؟
id , namr , parentId
با تشكر
hadisalahi2
چهارشنبه 11 اردیبهشت 1387, 14:39 عصر
سلام
دوست عزیز کد زیر هم روش درج ریشه رو توضیح میده هم روش درج زیر ریشه ها.
فقط شما بجای اون متن های داخل کد مقادیر فیلدهای Query رو بذار .
procedure TForm1.Button1Click(Sender: TObject);
var
MyTreeNode1, MyTreeNode2: TTreeNode;
begin
with TreeView1.Items do
begin
Clear; { remove any existing nodes }
MyTreeNode1 := Add(nil, 'RootTreeNode1'); { Add a root node }
{ Add a child node to the node just added }
AddChild(MyTreeNode1,'ChildNode1');
{Add another root node}
MyTreeNode2 := Add(MyTreeNode1, 'RootTreeNode2');
{Give MyTreeNode2 to a child }
AddChild(MyTreeNode2,'ChildNode2');
{Change MyTreeNode2 to ChildNode2 }
{ and add a child node to it}
MyTreeNode2 := TreeView1.Items[3];
AddChild(MyTreeNode2,'ChildNode2a');
{Add another child to ChildNode2, after ChildNode2a }
Add(MyTreeNode2,'ChildNode2b');
{add another root node}
Add(MyTreeNode1, 'RootTreeNode3');
end;
end;
hadisalahi2
چهارشنبه 11 اردیبهشت 1387, 14:42 عصر
در ضمن برای خوندن محتویات یک نود هم میتونی از دستور زیر استفاده کنی
var n:string
n:=TreeView1.Items[1].Text;//XXXXXXXXXXXXXXXXXXXXXXXXXXX
lable1.caption :=n
FirstLine
چهارشنبه 11 اردیبهشت 1387, 15:01 عصر
2- چجوري ميشه ID اون گزينه اي كه انتخاب شده را بدست بيارم؟
با سلام
چجوري ميتونم ID اون نود رو بدست بيارم ؟ (مشكلي براي بدست آوردن متن نود انتخابي نيست)
با تشكر
merced
چهارشنبه 11 اردیبهشت 1387, 16:16 عصر
براي هر آيتمي كه Add مي كني يه Pointer بهش تخصيص بده
TreeView1.Items.Item[i].Data = ...
hadisalahi2
پنج شنبه 12 اردیبهشت 1387, 08:36 صبح
خوب همون items یه قسمت دیگه داره که Index گزینه انتخابی رو برات بر میگردونه
روی کنترلت کلیک کن ، قسمت سمت راستش این گزینه ها رو میبینی
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.