آموزش ایجاد TreeView از اطلاعات پایگاه داده در Asp.Net
آموزش ایجاد TreeView از اطلاعات پایگاه داده در Asp.Net
در این پست میخواهیم چگونه ساخت TreeView با استفاده از پایگاه داده در Asp.Net آموزش دهیم.
TreeView یکی از کنترل های مفید در asp است که برای نمایش داده های مختلف مورد استفاده قرار میگیرد.
امروز نحوه استفاده از TreeView برای نمایش داده های جدول پایگاه را آموزش خواهیم داد. ابتدا یک پروژه در ویژوال استادیو ایجاد می کنیم و نام آن را IranGanjTreeView قرار می دهیم.
در ادامه یک وب فرم با نام TreeView به پروژه اضافه می کنیم. و داخل آن یک کنترل TreeView کد نویسی می کنیم.
<form id="form1" runat="server"> <asp:TreeView runat="server" ID="tview"> </asp:TreeView> </form>
حالا دو جدول در پایگاه داده خود می سازیم تا اطلاعات آن ها را به صورت treeview به نمایش در بیاوریم.
create table Tbl_State ( S_Id int identity(1,1) primary key, S_Name nvarchar(30) ) create table Tbl_City ( C_Id int identity(1,1) primary key, C_Name nvarchar(30), S_Id int foreign key references Tbl_State(S_Id) )
سپس وارد صفحه کلاینت وب فرم شده و ابتدا کلاس های زیر را اضافه می کنیم.
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Configuration; using System.Data; using System.Data.SqlClient;
و در قسمت Page_load صفحه دستور اتصال به پایگاه و کوئری فراخوانی داده های جداول را کدنویسی میکنیم.
string connection = ConfigurationManager.ConnectionStrings["IranganjTreeViewConnectionString"].ConnectionString; using (SqlConnection Conn = new SqlConnection(connection)) { string State = "Select * from Tbl_State"; string City = "Select * from Tbl_City"; string Treeview = State + ";" + City; DataSet ds = new DataSet(); SqlDataAdapter da = new SqlDataAdapter(Treeview, Conn); da.Fill(ds); ds.Tables[0].TableName = "Tbl_State"; ds.Tables[1].TableName = "Tbl_City"; DataRelation dr = new DataRelation("StateCity", ds.Tables["Tbl_State"].Columns["S_Id"], ds.Tables["Tbl_City"].Columns["S_Id"]); ds.Relations.Add(dr);
نکته : با استفاده از DataSet دو جدول را index گذاری میکنیم.
نکته : با استفاده از DataRelation ارتباط بین دو جدول را تعریف میکنیم.
در ادامه با استفاده از foreach برای هر جدول مقادیر کل جدول ها را فراخوانی میکنیم.
foreach (DataRow drState in ds.Tables["Tbl_State"].Rows) { TreeNode NDState = new TreeNode(); NDState.Text = drState["S_Name"].ToString(); NDState.Value = drState["S_Id"].ToString(); tview.Nodes.Add(NDState); foreach (DataRow drCity in drState.GetChildRows("StateCity")) { TreeNode NDCity = new TreeNode(); NDCity.Text = drCity["C_Name"].ToString(); NDCity.Value = drCity["C_Id"].ToString(); NDState.ChildNodes.Add(NDCity); } }
نکته : توجه داشته باشید که foreach جدول دوم زیر مجموعه foreach اولی است .
نتیجه کار را مشاهده می کنیم :
نظر / سوال