Hallo Community,
ich bin gerade dabei eine Webapplikation zu schreiben, die in einem TreeView den Inhalt meiner Datenbank (SQL Server 2005) anzeigt.
Da ich die reine Anzeige schon geschafft habe wollte ich euch um einen Rat fragen... wie stelle ich es an das hinter der ganze anzeige von diesem TreeView eine Logik steckt bzw das die daten so angezeigt werden das es auch einen sinn ergibt.
Mein Code ist bis jetzt so:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68:
| using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient; using System.Data.OleDb;
public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { foreach (DataRowView rv in SqlDataSource1.Select(DataSourceSelectArguments.Empty)) { if (rv.Row[1].ToString() == "") { Label1.Text = rv.Row[2].ToString(); } else { Label1.Text = rv.Row[1].ToString(); Label2.Text = rv.Row[2].ToString(); Label4.Text = rv.Row[1].ToString(); Label5.Text = rv.Row[2].ToString(); Label7.Text = rv.Row[3].ToString(); Label9.Text = rv.Row[4].ToString(); Label10.Text = rv.Row[5].ToString(); }
if (rv.Row[7].ToString() == "") { Image1.ImageUrl = "~/m.gif"; } else { Image1.ImageUrl = rv.Row[7].ToString(); } }
if (!Page.IsPostBack) { foreach (DataRowView rv1 in SqlDataSource2.Select(DataSourceSelectArguments.Empty)) { TreeView1.Nodes.Add(new TreeNode(rv1.Row[2].ToString())); } foreach (DataRowView rv2 in SqlDataSource3.Select(DataSourceSelectArguments.Empty)) { TreeView1.Nodes[0].ChildNodes.Add(new TreeNode(rv2.Row[2].ToString())); } } } protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e) { foreach (DataRowView rv2 in SqlDataSource3.Select(DataSourceSelectArguments.Empty)) { DetailsView1.DataSource = SqlDataSource3; DetailsView1.DataBind(); } } } |
Der Aufbau meiner Daten wie folgt:
Tabelle: Abteilungen (SqlDataSource2)
Abteilungs_GUID |
Kunden_GUID |
Titel
-----------------------------------------------------------
<Abteilungs_GUID> | <Kunden_GUID> | Titel
<Abteilungs_GUID> | <Kunden_GUID> | Titel
<Abteilungs_GUID> | <Kunden_GUID> | Titel
Tabelle: Programme (SqlDataSource3)
Programm_GUID |
Abteilungs_GUID |
Titel
-----------------------------------------------------------
<Programm_GUID> | <Abteilungs_GUID> | Titel
<Programm_GUID> | <Abteilungs_GUID> | Titel
<Programm_GUID> | <Abteilungs_GUID> | Titel
So jetzt stelle ich in dem TreeView in der obersten Ebene die Abteilungen da,
jeder dieser Abteilungen hat Programme die werden als ChildNode angezeigt.
Meine Frage jetzt.
Wie bekomme ich das mit den GUIDs hin das wenn ich auf Abteilung A klicke auch nur die Programme angezeigt bekomme in der die <Abteilungs_GUID> der Abteilung A steht.
Wär für jeden Rat sehr dankbar.
MfG
Sascha