PDA

View Full Version : سوال: اطلاعات دیتابیس چجوری در tree view نمایش دهم ؟ ( با کد C#‎ )



hamid_0341
پنج شنبه 01 فروردین 1392, 15:00 عصر
با سلام
من چجوری میتونم اطلاعات دیتا بیسم رو با کد C#‎‎ در tree view نمایش بدم ؟ :متفکر:
در تیبلم چه رکورد هایی نیاز دارم ؟
اگه با سپمل کد بدید ممنون میشم :قلب::قلب:
لطفا راهنمایی کنید

tree1371
پنج شنبه 01 فروردین 1392, 16:30 عصر
خیلی راحت هست البته بستگی به کار شما داره ولی به صورت معملوی treeviw یک datasource داره که پرش می کنید.

اما اگر بخواهید زیر مجموعه ای باشد باید با تابع بازگشتی بنویسید که برای این کار که راحت باشید پیشنهاد من استفاده از کنترل هایی مثل شرکت telerik می باشد

در حدول هم باید یک فیلد به نام parenId داشته باشید تا آی دی پدر هر کدام از گزینه های شما در اون باشه

clover
پنج شنبه 01 فروردین 1392, 18:41 عصر
سلام
به این پست مراجعه کنید و سمپل مورد نظر رو دانلود کنید:
http://barnamenevis.org/showthread.php?383906-%D8%A7%D8%B3%D8%AA%D8%B1%D8%A7%D8%AA%DA%98%DB%8C-%D9%85%D9%82%D8%AF%D8%A7%D8%B1-%D8%AF%D9%87%DB%8C-%D8%AF%D8%A7%D8%AF%D9%87-%D9%87%D8%A7%DB%8C-%D8%B3%D9%84%D8%B3%D9%84%D9%87-%D9%85%D8%B1%D8%A7%D8%AA%D8%A8%DB%8C&p=1699760&viewfull=1#post1699760

saeed31641
پنج شنبه 01 فروردین 1392, 22:30 عصر
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { DataTable topics = new DataTable(); SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationMa nager.ConnectionStrings["ICTPortalDBConnectionString"].ConnectionString); if (conn.State == ConnectionState.Closed) conn.Open(); string query = "SELECT * FROM TOrgChart where FOrgChartId= (Select Min(FOrgChartID) From TOrgChart)"; SqlCommand cmd = new SqlCommand(query, conn); using (SqlDataAdapter a = new SqlDataAdapter(cmd)) { a.Fill(topics); } conn.Close(); conn.Dispose(); TreeViewOrgChart.ExpandAll(); TreeViewOrgChart.CollapseAll(); } } protected void TreeView1_TreeNodePopulate(object sender, TreeNodeEventArgs e) { string id = e.Node.Value; DataTable topics = new DataTable(); SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationMa nager.ConnectionStrings["ICTPortalDBConnectionString"].ConnectionString); if (conn.State == ConnectionState.Closed) conn.Open(); string query = "SELECT * FROM TOrgChart where FOrgChartParentID=" + int.Parse(id); SqlCommand cmd = new SqlCommand(query, conn); using (SqlDataAdapter a = new SqlDataAdapter(cmd)) { a.Fill(topics); } conn.Close(); conn.Dispose(); }

moferferi
شنبه 03 فروردین 1392, 13:03 عصر
سلام
من خودم ازین روش استفاده میکنم
اول یه تیبل نیاز داری که توش
id,name,parent حتما نیازه

اینک کد سی شارپ
public DataTable GetMenuByParentID(int parentId)
{
DataTable dt = new DataTable();
using (SqlConnection con = new SqlConnection(@"Data Source=(local);Initial Catalog=rahyab_wikisiteapesf;User ID=wikisiteapesfu;Password=$%s*6]cz5hsvxv;MultipleActiveResultSets=True"))

{
con.Open();
SqlCommand cmd = new SqlCommand("select * from CategoryMenu where Parent=@ParentID", con);
cmd.Parameters.AddWithValue("@ParentID", parentId);

SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);

con.Close();

return dt;
}
}

XmlWriter writer;
public void CreateMenu()
{
using (writer = XmlWriter.Create(Server.MapPath("Temp\\Menu.XML")))
{
writer.WriteStartDocument();
writer.WriteStartElement("Menu");

CreateNodes(0);

writer.WriteEndDocument();
}

}
public void CreateNodes(int parentId)
{
DataTable dt = GetMenuByParentID(parentId);
foreach (DataRow dr in dt.Rows)
{

writer.WriteStartElement("Node");

writer.WriteStartAttribute("ID");
writer.WriteValue(dr["ID"].ToString());
writer.WriteEndAttribute();


writer.WriteStartAttribute("Name");
writer.WriteValue(dr["CatName"].ToString());
writer.WriteEndAttribute();

CreateNodes(Convert.ToInt32(dr["ID"]));

writer.WriteEndElement();
writer.Flush();
}
}

و

<asp:TreeView ID="TreeView1" runat="server" LineImagesFolder="~/images/TreeLineImages"
ShowLines="True" ShowCheckBoxes="Leaf" ViewStateMode="Enabled"
EnableViewState="true" ExpandDepth="0" >


<DataBindings>
<asp:TreeNodeBinding DataMember="Node" TextField="Name" ValueField="ID" />
</DataBindings>
</asp:TreeView>