Multi-Level-datagrid

Multi-Level-datagrid


Emil Indradjaja MCP, 27. Mai 2005 der https://www.i-sources.net/?view=blog&blog_id=355647310

Während meine Erfahrungen bauen NET mit Datagrid muss ich manchmal eine mehrstufige DataGrid für die einfache Anzeige und Zugang zu erstellen.

Um das zu erreichen würde ich den folgenden Schritt tun:

  1. Einem übergeordneten Datenraster zu bauen.

    Der folgende Code zeigt ein einfaches DataGrid, die Region von Nortwind Datenbank anzeigt.

    private void Page_Load (Object Sender, System.EventArgs e) {if (! Page.IsPostBack) {dies. FillDataStore(); Dies. DrawParentGrid(); }
    }
    private void FillDataStore() {MyDataSet = new DataSet();
    Sql String = 'wählen Sie * aus Region Auftrag von RegionDescription'; SqlDataAdapter da = new SqlDataAdapter (Sql, this.sqlConnection1); da. Füllen Sie (MyDataSet, 'REGION'); SQL = 'select * from Personal'; SqlDataAdapter da1 = new SqlDataAdapter (Sql, this.sqlConnection1); da. Füllen Sie (MyDataSet, 'Mitarbeiter');}

    private void DrawParentGrid() {DataView Dv = neue DataView(MyDataSet.Tables[0]); this.dgRegion.DataSource=dv; this.dgRegion.DataBind();
    }

    Der Code einfach die MyDataSet mit Inhalten aus der Region und Mitarbeiter Tabelle füllen und DgRegion das DataSet auffüllen, während die 1. Ausführungszeit der Seite. Der obige Code erzeugt die folgende Ausgabe:

    1-1
    Im Interesse der in diesem Artikel gehen wir DataGrid für den Mitarbeiter (sog. DgEmp) innerhalb des DgRegion der Elementvorlage hinzufügen, wie unten dargestellt:

    < Asp: Datagrid Id = 'DgRegion' Runat = 'Server' BorderColor = 'Silber' Font-Size = 'XX-Small' AutoGenerateColumns = 'False'
    Schriftartnamen = 'Verdana' CellPadding = '2' Gitternetzlinien = 'Horizontal' HorizontalAlign = 'Center' BackColor = 'White'
    Breite = '100 %' >

    < AlternatingItemStyle BackColor = '#FFFF80' >< / AlternatingItemStyle >
    < HeaderStyle Font-Bold = 'True' BackColor = 'WhiteSmoke' >< / HeaderStyle >
    < Spalten >
    < Asp: TemplateColumn HeaderText = 'Region ID' >
    < HeaderStyle Width = '100px' >< / HeaderStyle >
    < ItemTemplate >
    < Asp: Bezeichnungs-Id = InpRegionId Runat = 'Server' Text = '< % # DataBinder.Eval (Container, 'DataItem.RegionId') % >' Visible = 'True' >
    < / Asp: Label >
    < / ItemTemplate >
    < ItemStyle VerticalAlign = Top >< / ItemStyle >
    < / Asp: TemplateColumn >
    ...
    ...
    < Asp: TemplateColumn HeaderText = 'Andere' >
    < HeaderStyle Width = '130px' >< / HeaderStyle >
    < ItemTemplate >
    < Asp: Datagrid Id = 'DgEmp' Runat = 'Server' BorderColor = 'Silber' Font-Size = 'XX-Small' AutoGenerateColumns = 'False'
    Schriftartnamen = 'Verdana' CellPadding = '2' Gitternetzlinien = 'Horizontal' HorizontalAlign = 'Center' BackColor = #ffffcc
    Breite = '100 %' sichtbar = False >
    < AlternatingItemStyle BackColor = #ffffcc >< / AlternatingItemStyle >
    < HeaderStyle Font-Bold = 'True' BackColor = 'WhiteSmoke' >< / HeaderStyle >
    < Spalten >
    < Asp: TemplateColumn HeaderText = 'Mitarbeiter-Statistik' >
    < HeaderTemplate >
    < Tisch Breite = 100 % >
    < tr >
    < td Breite = 150 align = Center > Mitarbeitername </td >
    < td Breite = 100 align = Center > Gesamtumsatz </td >
    </tr >
    < / table >
    < / HeaderTemplate >
    < ItemTemplate >
    < Tisch Breite = 100 % >
    < tr >
    < td Width = 150 >
    < Asp: Bezeichnungs-Id = 'Label1' Runat = 'Server' Text = '< % # DataBinder.Eval (Container,'DataItem.FirstName') +' '+ DataBinder.Eval (Container,'DataItem.LastName') % >' Visible ='True'>
    < / Asp: Label >
    </td >
    < td Width = 100 ausrichten = Right >< Asp: Label Visible = False Id = 'LblEmployeeId' Runat = 'Server' Text = '< % # DataBinder.Eval (Container, 'DataItem.EmployeeID') % >' >
    < / Asp: Label >
    < Asp: Bezeichnungs-Id = 'LblTotalCust' Runat = 'Server' Visible = True >
    < / Asp: Label >
    </td >
    </tr >
    < / table >
    < / ItemTemplate >
    < / Asp: TemplateColumn >
    < / Spalten >
    < / Asp: Datagrid >
    < / ItemTemplate >
    < / Asp: TemplateColumn >
    ...
    < Asp: TemplateColumn >
    < HeaderStyle Width = '100px' >< / HeaderStyle >
    < ItemStyle VerticalAlign = Top >< / ItemStyle >
    < ItemTemplate >
    < Asp: LinkButton Id = 'Linkbutton1' Runat = 'Server' Text = 'View Employees' CausesValidation = 'false' CommandName = 'Auswählen' > Ansicht Mitarbeiter < / Asp: LinkButton >
    < / ItemTemplate >
    < / Asp: TemplateColumn >
    < / Spalten >
    < / Asp: Datagrid >

  2. Draht des übergeordneten und untergeordneten Ereignis.

    Damit es funktioniert, müssen wir einige Änderungen im Code hinter der Seite vornehmen.

    Zuerst müssen wir Draht zu Ereignis für das übergeordnete Datagrid wie unten dargestellt:

    1-3-1

    Wir werden für das ItemCreated-Ereignis und das ItemDataBound-Ereignis des übergeordneten DataGrid Draht.

    1-3

    Im Inneren das ItemCreated-Ereignis des übergeordneten Datagrid wir finden die DgEmp und ein ItemDataBound-Ereignis hinzufügen. Und im Inneren das ItemDataBound-Ereignis des übergeordneten Datagrid, wir finden das die DgEmp und binden ihn an die Dataview, die jeder Mitarbeiter entspricht.

  3. Termin in der Kind-Datagrid hinzufügen.

    Das letzte, was zu tun ist das Hinzufügen ein Ereignisses an der Kind-DataGrid-Steuerelement, wie im folgenden Code gezeigt:

    1-4

    Wie Sie sehen, wird die Funktion oben gerade erhalten die Mitarbeiter-Id und der Gesamtumsatz aus der ORDER-Tabelle in der Northwind-Datenbank zu berechnen. Das Ergebnis des Codes ist unten dargestellt:

    1-5

    Glücklich Programmierung!








Multi-Level-datagrid


Multi-Level-datagrid : Mehreren tausend Tipps, um Ihr Leben einfacher machen.


Emil Indradjaja MCP, 27. Mai 2005 der https://www.i-sources.net/?view=blog&blog_id=355647310

Während meine Erfahrungen bauen NET mit Datagrid muss ich manchmal eine mehrstufige DataGrid für die einfache Anzeige und Zugang zu erstellen.

Um das zu erreichen würde ich den folgenden Schritt tun:

  1. Einem übergeordneten Datenraster zu bauen.

    Der folgende Code zeigt ein einfaches DataGrid, die Region von Nortwind Datenbank anzeigt.

    private void Page_Load (Object Sender, System.EventArgs e) {if (! Page.IsPostBack) {dies. FillDataStore(); Dies. DrawParentGrid(); }
    }
    private void FillDataStore() {MyDataSet = new DataSet();
    Sql String = 'wählen Sie * aus Region Auftrag von RegionDescription'; SqlDataAdapter da = new SqlDataAdapter (Sql, this.sqlConnection1); da. Füllen Sie (MyDataSet, 'REGION'); SQL = 'select * from Personal'; SqlDataAdapter da1 = new SqlDataAdapter (Sql, this.sqlConnection1); da. Füllen Sie (MyDataSet, 'Mitarbeiter');}

    private void DrawParentGrid() {DataView Dv = neue DataView(MyDataSet.Tables[0]); this.dgRegion.DataSource=dv; this.dgRegion.DataBind();
    }

    Der Code einfach die MyDataSet mit Inhalten aus der Region und Mitarbeiter Tabelle füllen und DgRegion das DataSet auffüllen, während die 1. Ausführungszeit der Seite. Der obige Code erzeugt die folgende Ausgabe:

    1-1
    Im Interesse der in diesem Artikel gehen wir DataGrid für den Mitarbeiter (sog. DgEmp) innerhalb des DgRegion der Elementvorlage hinzufügen, wie unten dargestellt:

    < Asp: Datagrid Id = 'DgRegion' Runat = 'Server' BorderColor = 'Silber' Font-Size = 'XX-Small' AutoGenerateColumns = 'False'
    Schriftartnamen = 'Verdana' CellPadding = '2' Gitternetzlinien = 'Horizontal' HorizontalAlign = 'Center' BackColor = 'White'
    Breite = '100 %' >

    < AlternatingItemStyle BackColor = '#FFFF80' >< / AlternatingItemStyle >
    < HeaderStyle Font-Bold = 'True' BackColor = 'WhiteSmoke' >< / HeaderStyle >
    < Spalten >
    < Asp: TemplateColumn HeaderText = 'Region ID' >
    < HeaderStyle Width = '100px' >< / HeaderStyle >
    < ItemTemplate >
    < Asp: Bezeichnungs-Id = InpRegionId Runat = 'Server' Text = '< % # DataBinder.Eval (Container, 'DataItem.RegionId') % >' Visible = 'True' >
    < / Asp: Label >
    < / ItemTemplate >
    < ItemStyle VerticalAlign = Top >< / ItemStyle >
    < / Asp: TemplateColumn >
    ...
    ...
    < Asp: TemplateColumn HeaderText = 'Andere' >
    < HeaderStyle Width = '130px' >< / HeaderStyle >
    < ItemTemplate >
    < Asp: Datagrid Id = 'DgEmp' Runat = 'Server' BorderColor = 'Silber' Font-Size = 'XX-Small' AutoGenerateColumns = 'False'
    Schriftartnamen = 'Verdana' CellPadding = '2' Gitternetzlinien = 'Horizontal' HorizontalAlign = 'Center' BackColor = #ffffcc
    Breite = '100 %' sichtbar = False >
    < AlternatingItemStyle BackColor = #ffffcc >< / AlternatingItemStyle >
    < HeaderStyle Font-Bold = 'True' BackColor = 'WhiteSmoke' >< / HeaderStyle >
    < Spalten >
    < Asp: TemplateColumn HeaderText = 'Mitarbeiter-Statistik' >
    < HeaderTemplate >
    < Tisch Breite = 100 % >
    < tr >
    < td Breite = 150 align = Center > Mitarbeitername </td >
    < td Breite = 100 align = Center > Gesamtumsatz </td >
    </tr >
    < / table >
    < / HeaderTemplate >
    < ItemTemplate >
    < Tisch Breite = 100 % >
    < tr >
    < td Width = 150 >
    < Asp: Bezeichnungs-Id = 'Label1' Runat = 'Server' Text = '< % # DataBinder.Eval (Container,'DataItem.FirstName') +' '+ DataBinder.Eval (Container,'DataItem.LastName') % >' Visible ='True'>
    < / Asp: Label >
    </td >
    < td Width = 100 ausrichten = Right >< Asp: Label Visible = False Id = 'LblEmployeeId' Runat = 'Server' Text = '< % # DataBinder.Eval (Container, 'DataItem.EmployeeID') % >' >
    < / Asp: Label >
    < Asp: Bezeichnungs-Id = 'LblTotalCust' Runat = 'Server' Visible = True >
    < / Asp: Label >
    </td >
    </tr >
    < / table >
    < / ItemTemplate >
    < / Asp: TemplateColumn >
    < / Spalten >
    < / Asp: Datagrid >
    < / ItemTemplate >
    < / Asp: TemplateColumn >
    ...
    < Asp: TemplateColumn >
    < HeaderStyle Width = '100px' >< / HeaderStyle >
    < ItemStyle VerticalAlign = Top >< / ItemStyle >
    < ItemTemplate >
    < Asp: LinkButton Id = 'Linkbutton1' Runat = 'Server' Text = 'View Employees' CausesValidation = 'false' CommandName = 'Auswählen' > Ansicht Mitarbeiter < / Asp: LinkButton >
    < / ItemTemplate >
    < / Asp: TemplateColumn >
    < / Spalten >
    < / Asp: Datagrid >

  2. Draht des übergeordneten und untergeordneten Ereignis.

    Damit es funktioniert, müssen wir einige Änderungen im Code hinter der Seite vornehmen.

    Zuerst müssen wir Draht zu Ereignis für das übergeordnete Datagrid wie unten dargestellt:

    1-3-1

    Wir werden für das ItemCreated-Ereignis und das ItemDataBound-Ereignis des übergeordneten DataGrid Draht.

    1-3

    Im Inneren das ItemCreated-Ereignis des übergeordneten Datagrid wir finden die DgEmp und ein ItemDataBound-Ereignis hinzufügen. Und im Inneren das ItemDataBound-Ereignis des übergeordneten Datagrid, wir finden das die DgEmp und binden ihn an die Dataview, die jeder Mitarbeiter entspricht.

  3. Termin in der Kind-Datagrid hinzufügen.

    Das letzte, was zu tun ist das Hinzufügen ein Ereignisses an der Kind-DataGrid-Steuerelement, wie im folgenden Code gezeigt:

    1-4

    Wie Sie sehen, wird die Funktion oben gerade erhalten die Mitarbeiter-Id und der Gesamtumsatz aus der ORDER-Tabelle in der Northwind-Datenbank zu berechnen. Das Ergebnis des Codes ist unten dargestellt:

    1-5

    Glücklich Programmierung!

Multi-Level-datagrid

Multi-Level-datagrid : Mehreren tausend Tipps, um Ihr Leben einfacher machen.
Multi-Level-datagrid
Wiezutun
Freunden empfehlen
  • gplus
  • pinterest

Kommentar

Einen Kommentar hinterlassen

Wertung