Readdy Write

Linq: einzelne Spalten aus einer Tabelle ausgeben

01.01.2019 (👁5983)

Linq: einzelne Spalten ausgeben

 

Aufgabe:

Mit LinQ einzelne Spalten mit Namen ausgeben aus Tabellen oder Abfragen

 

Lösung:

Einzelne Spalten werden mist Select new { Anzeige_Name=Tabelle.Feld } erzeugt

 

Ausgabe Wie:

select new { IDSchicht=tbl.IDSchicht ,Schicht = tbl.Schicht, Farbe=tbl.Schicht } 

 

Code-Beispiel

var data_Schichten = (from tbl in db.tblBase_Schichtenorderby tbl.SortierNr

  select new { IDSchicht=tbl.IDSchicht ,Schicht = tbl.Schicht, Farbe=tbl.Schicht } );

 

 

 

Die Ausgabe in C# erfolgt dann direkt wie hier

string sColorSchicht = schicht.Farbe;

 

 

 

Betrifft: SQL Alias AS Field Name

 

 

Komplettes Linq, SQL, C# Code-Beispiel

private void Grid_Mitarbeiter_Row_Header_fuellen()

{

    //--------< Grid_Mitarbeiter_Row1_fuellen() >------------

    Add_Row_Grid_Mitarbeiter(); //Tag     rowNr=0

    Add_Row_Grid_Mitarbeiter(); //Schicht rowNr=1

 

    //--< Schichtmodel_holen >--

    var data_Schichten = (from tbl in db.tblBase_Schichten

                          orderby tbl.SortierNr

                          select new { IDSchicht = tbl.IDSchicht, Schicht = tbl.Schicht, Farbe = tbl.Schicht });

 

    //--</ Schichtmodel_holen >--

    _Anzahl_Tagesschichten = data_Schichten.Count();

    //< check >

    if (_Anzahl_Tagesschichten < 1)

    {

        MessageBox.Show("Anzahl Schichten ist 0""Schichten erstellen");

        return;

    }

    //</ check >

    //------< Header_Tage_fuellen >------

    for (int iDay = 0; iDay < 7; iDay++)

    {

        DateTime day = _monday_of_PlanWeek.AddDays(iDay);

 

        //-< day_Header >-

        Insert_Label_in_Grid_Mitarbeiter(day.ToString("ddd dd.MM.yyyy"), 0, 1 + (iDay * _Anzahl_Tagesschichten), 1, _Anzahl_Tagesschichten, _Color_Header_Days);

        int intSpalteDay = (iDay * _Anzahl_Tagesschichten);

        string sDayPlan = day.ToString("yyyyMMdd");

        //-</ day_Header >-

 

        //----< @Loop: Schichten >----

        int iSchicht = -1;

        foreach (var schicht in data_Schichten)

        {

            //---< Schicht >---

            //*fuer jede Schicht eine Spalten anlegen

            //< label >

            iSchicht++;

            string sColorSchicht = schicht.Farbe;

            Insert_Label_in_Grid_Mitarbeiter(schicht.Schicht, 1, 1 + intSpalteDay + iSchicht, 1, 1, _Color_Header_Schicht, HorizontalAlignment.Center);

            //</ label >

 

            //< column >

            ColumnDefinition column = new ColumnDefinition();

            column = new ColumnDefinition();

            column.Width = new GridLength(_Breite_Schicht);

            column.Tag = "col_Mitarbeiter_DayPlan_" + sDayPlan + "_IDSchicht_" + schicht.IDSchicht;

            Grid_Mitarbeiter.ColumnDefinitions.Add(column);

            //</ column >

            //---</ Schicht >---                }

            //----</ @Loop: Schichten >----

 

 

        }

        //------</ Header_Tage_fuellen >------

    }

    //--------</ Grid_Mitarbeiter_Row1_fuellen() >------------

}

 

 


0,00 €