PDA

View Full Version : دسترسی به یکی از آیتم های tree view



samira6446
چهارشنبه 09 مرداد 1392, 02:55 صبح
سلام دوستان
من توی پروژه ام یک tree view گذاشتم که دو سطحی هست
حالا میخوام یکی از زیر گزینه ها یا یکی از آیتم ها رو انتخاب کنم
چه طور میتونم بفهمم که کدامشون انتخاب شده که با توجه به چیزی که انتخاب شده یک کاری رو انجام بدم.
مثلاً یک گریدویو رو نشان بدم .

javad13
چهارشنبه 09 مرداد 1392, 08:03 صبح
کدتو بزار شایدبتونیم کمکت کنیم ، از رویدادهای خود تری ویو استفاده کن.

samira6446
چهارشنبه 09 مرداد 1392, 08:34 صبح
سلام
خسته نباشید
این کد من هست
از کدوم رویداد باید استفاده کنم


protected void Page_Load(object sender, EventArgs e)
{
fill_Tree();
}


void fill_Tree()
{
SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;Initial Catalog=DBSport;Integrated Security=True");
con.Open();

SqlCommand SqlCmd = new SqlCommand("Select * from mem_group", con);
SqlDataReader Sdr = SqlCmd.ExecuteReader();
SqlCmd.Dispose();
string[,] ParentNode = new string[100, 2];
int count = 0;
while (Sdr.Read())
{
ParentNode[count, 0] = Sdr.GetValue(Sdr.GetOrdinal("code")).ToString();
ParentNode[count++, 1] = Sdr.GetValue(Sdr.GetOrdinal("name")).ToString();
}
Sdr.Close();


for (int loop = 0; loop < count; loop++)
{
TreeNode root = new TreeNode();
root.Text = ParentNode[loop, 1];
root.Target = "_blank";
root.NavigateUrl = "Tree.aspx";

SqlCommand SqlCmd2 = new SqlCommand("Select * from group_2 where group_code =" + ParentNode[loop, 0], con);
SqlDataReader Sdr1 = SqlCmd2.ExecuteReader();
SqlCmd2.Dispose();

//سطح2
string[,] ParentNode2 = new string[100, 2];
int countnew = 0;
while (Sdr1.Read())
{
ParentNode2[countnew, 0] = Sdr1.GetValue(Sdr1.GetOrdinal("id")).ToString();
ParentNode2[countnew++, 1] = Sdr1.GetValue(Sdr1.GetOrdinal("Name")).ToString();
}
Sdr1.Close();
for (int loop2 = 0; loop2 < countnew; loop2++)
{
TreeNode root2 = new TreeNode();
root2.Text = ParentNode2[loop2, 1];
root2.Target = "_blank";
root2.NavigateUrl = "Tree.aspx";

//سطح3
SqlCommand Module_SqlCmd = new SqlCommand("Select * from group_3 where group_2 =" + ParentNode2[loop2, 0], con);
SqlDataReader Module_Sdr = Module_SqlCmd.ExecuteReader();
while (Module_Sdr.Read())
{
TreeNode child = new TreeNode();
child.Text = Module_Sdr.GetValue(Module_Sdr.GetOrdinal("Name")).ToString();
child.Target = "_blank";
child.NavigateUrl = "your_page_Url.aspx";
root2.ChildNodes.Add(child);
}
Module_Sdr.Close();
root.ChildNodes.Add(root2);
}
TreeView1.Nodes.Add(root);
}

TreeView1.CollapseAll();
con.Close();
}


مرسی مرسی

samira6446
چهارشنبه 09 مرداد 1392, 10:28 صبح
سلام دوستان
کسی نمی تونه جواب منو بده
توی کدوم یک از رویدادهای tree view باید کد نوشت چه کدی؟؟؟؟

parvizwpf
چهارشنبه 09 مرداد 1392, 10:50 صبح
این میتونه کمک کنه:
http://stackoverflow.com/questions/107150/asp-net-treeview-and-selecting-the-selected-node

samira6446
چهارشنبه 09 مرداد 1392, 10:59 صبح
مرسی
ولی من اصلاً کدهاشو متوجه نشدم و این صفحه رو قبلاً هم دیده بودم

parvizwpf
چهارشنبه 09 مرداد 1392, 11:03 صبح
اگه دقت کنید دقیقا همون رخدادی که شما نیاز دارید رو گفته:
TreeView1_SelectedNodeChanged
یه جا هم داره تک تک آیتها رو بررسی میکنه
TreeNode node = TreeTypes.FindNode(obj.CustomerTypeId.ToString()); TreeTypes.Nodes[TreeTypes.Nodes.IndexOf(node)].Select();

samira6446
چهارشنبه 09 مرداد 1392, 13:05 عصر
مرسی
مشکلم رو یک طور دیگه ای حل کردم
فقط یک سوال دیگه این که اگر بخوام با انتخاب parent تمام chid هم تیک بخورن باید چه کدی بنویسم.

parvizwpf
دوشنبه 21 مرداد 1392, 15:47 عصر
تست کنید


TreeView.ExpandAll