PDA

View Full Version : ريختن نام آيتم انتخاب شده tree view در session



mononok
شنبه 09 آبان 1388, 20:01 عصر
سلام

من مي خوام با كليك روي آيتم هاي tree view اسم خودش و parent اوون رو در session بريزم تا در نمايش اطلاعاتم در grid view از اون ها استفاده كنم ولي هر كاري مي كنم چيزي نمي ريزه! tree view هم رويدادي به نام selected item نداره و فقط selected node changed داره كه اونم كاري نمي كنه! بايد چي كار كنم خيلي كارم فوريه! در ضمن كدtree view رو در صفحه master نوشتم.
اينم كدم:



ProtectedSub TreeView1_SelectedNodeChanged(ByVal sender AsObject, ByVal e As System.EventArgs) Handles TreeView1.SelectedNodeChanged
Session.Add("category_name", TreeView1.SelectedNode.Text)
Session.Add("group_name", TreeView1.SelectedNode.Parent.Text)
EndSub



اينو هم اضافه كنم من روي child ها كليك مي خوام بكنم و اسم خودش و پدرش رو به دست بيارم
ولي مثل اين كه node اينجا همون پدر معني ميده نمي دونم از چه راهي برم؟؟؟

kohyar
یک شنبه 10 آبان 1388, 13:40 عصر
من توي يكي از برنامه هام براي ايجاد چارت سازماني از كد زير استفاده كردم اميدوارم به كارت بياد
ابتدا داخل يك كلاس كد زير رو بنويس



public DataTable FindNode(int NodeId)
{
SqlConnection cnn = new SqlConnection("Data Source=.; Initial Catalog=chart; User ID=sa;");
SqlCommand cmd=new SqlCommand();
cmd.CommandText= "select ID,name from Pchart where ID=" + NodeId;
cmd.Connection=cnn;
cmd.CommandType = CommandType.Text;
SqlDataAdapter da=new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
return dt;

}



بعد هم در داخل برنامه از كد زير استفاده كن



protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
{
Class1 cs = new Class1();
DataTable tbl = new DataTable();
tbl=cs.FindNode(Convert.ToInt32(TreeView1.Selected Node.Value.ToString()));
foreach (DataRow dr in tbl.Rows)
{
txtnode.Text = dr["name"].ToString();
LblID.Text = dr["ID"].ToString();
}
}

nikraftar
چهارشنبه 22 آبان 1392, 16:31 عصر
سلام
اول باید node های treeview رو خودت دستی توی edit treenode databinding اضافه یا add کنی نه اینکه aoutogenerate باشه.
بعد روی ستون مربوطه ویژگی selectaction رو روی SelectExpand قرار میدی . بعد میتونی توی event با نام SelectedNodeChanged کد مربوطه رو بنویسی