Skip to main content

How can you implement tree structure with checkboxes!

Drag and Drop a tree view contols from the toolbox on the .aspx page

LeafNodeStyle-NodeSpacing="10px" LeafNodeStyle-HorizontalPadding="25px"
ShowCheckBoxes="All" runat="server" >


Add javascripts functions to check and uncheck all the checkboxes from tree hirerichy




On the coding Page

1.Add the attribute on the Page_load Events
protected void Page_Load(object sender, EventArgs e)
{
BindData();
TreeView1.Attributes.Add("onclick", "OnCheckBoxCheckChanged(event)");

}

2.Set the Parent and child relationship between the nodes

protected void BindData()
{

DataSet ds=new DataSet();
SqlConnection con=new SqlConnection("server=.;database=ABC;uid=dd;password=dd;");
con.Open();
SqlDataAdapter adpmenu=new SqlDataAdapter("Select * from tbl_Menu",con);
SqlDataAdapter adpsubmenu=new SqlDataAdapter("Select * from tbl_SubMenu",con);
adpmenu.Fill(ds,"tbl_Menu");
adpsubmenu.Fill(ds,"tbl_SubMenu");
con.Close();
ds.Relations.Add("SuppToProd", ds.Tables["tbl_Menu"].Columns["Menu_Id"], ds.Tables["tbl_SubMenu"].Columns["Menu_Id"]);
TreeNode nodemenu ;
TreeNode nodesubmenu;
foreach(DataRow rowmenu in ds.Tables["tbl_Menu"].Rows)
{
nodemenu = new TreeNode();
nodemenu.Text = rowmenu["Menu_Name"].ToString() ;
nodemenu.Value = rowmenu["Menu_Id"].ToString() ;
TreeView1.Nodes.Add(nodemenu);

foreach( DataRow rowsubMenu in rowmenu.GetChildRows("SuppToProd"))
{
nodesubmenu = new TreeNode();
nodesubmenu.Text = rowsubMenu["Sub_MenuName"].ToString();
nodesubmenu.Value = rowsubMenu["Sub_MenuId"].ToString() ;
nodemenu.ChildNodes.Add(nodesubmenu);

}
}

}

3.Insert into the database from the TreeView Selection
protected void btnClick_Click(object sender, EventArgs e)
{
string subMenuId = "";
foreach (TreeNode var in TreeView1.Nodes )
{
foreach (TreeNode var1 in var.ChildNodes)
{
if (var1.Checked == true)
{
subMenuId = subMenuId +","+ var1.Value;
}
}
}

if (subMenuId != null && subMenuId != string.Empty)
subMenuId = subMenuId.Substring(1, subMenuId.Length - 1);
adminobj.Usp_Admin_MenuPermission(Convert.ToInt32(this.User.Identity.Name), subMenuId);

}

Comments

Popular posts from this blog

URL Rewritting

http://www.simple-talk.com/dotnet/asp.net/a-complete-url-rewriting-solution-for-asp.net-2.0/ http://msdn.microsoft.com/en-us/library/ms972974.aspx URL Rewriting in ASP.NET Summary: Examines how to perform dynamic URL rewriting with Microsoft ASP.NET. URL rewriting is the process of intercepting an incoming Web request and automatically redirecting it to a different URL. Discusses the various techniques for implementing URL rewriting, and examines real-world scenarios of URL rewriting. (31 printed pages) Download the source code for this article. Contents Introduction Common Uses of URL Rewriting What Happens When a Request Reaches IIS Implementing URL Rewriting Building a URL Rewriting Engine Performing Simple URL Rewriting with the URL Rewriting Engine Creating Truly "Hackable" URLs Conclusion Related Books Introduction Take a moment to look at some of the URLs on your website. Do you find URLs like http://yoursite.com/info/dispEmployeeInfo.aspx?EmpID=459-099&type=summ...

SEND A PDF FILE AS AN ATTACHEMENT OF MAIL!

System.Net.Mail.MailMessage m1 = new System.Net.Mail.MailMessage(); m1.From = "manpreet@gmail.com" m1.Subject = "Test mail "; m1.Body = str.ToString(); m1.IsBodyHtml = true; m1.To.Add("jasdeep@gmail.com"); m1.CC.Add("jasdeep123@gmail.com"); m1.Attachments.Add(new Attachment(strserverpath + @"\pdf\" + PdfFileName)); smtp.Send(m1);

Sql Server Tips

IF WE WANT TO SELECT  TOP N ROWS  FROM A TABLE ,  WE USE THE FETCH NEXT  SELECT    * FROM  table1   ---//First m rows ignore first n rows ORDER BY id OFFSET n ROWS FETCH NEXT m ROWS ONLY if n=0, m=10 then first  10 rows if n=10, m=10 then first  10 rows start from 11th row Row_number()   SELECT  ROW_NUMBER() OVER(order by db.id) Insertion Simultaneouly in temp table with output clause DECLARE @table1 table (   Id int,   name nvarchar(50) ); DECLARE @table2 table (  Id int,  name nvarchar(50) ); INSERT INTO @table2 OUTPUT INSERTED.*   INTO @table1   select top 10 id, name  from FinalTable SELECT * FROM @table2; SELECT * FROM @table1;