Announcement

Collapse
No announcement yet.

Eine Spalte aus einem DataGrid ausblenden

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Eine Spalte aus einem DataGrid ausblenden

    Hallo,
    Ich hab da mal eine Frage, Ich möchte aus meinem DataGrid eine Spalte ausblenden und habe mir auch schon den Code dafür geschrieben. Zumindest mein ich das der Code richtig ist.

    Dim ts As DataGridTableStyle = New DataGridTableStyle

    Function DeleteColumn()

    ts.MappingName = dg_werte.DataMember

    dg_werte.TableStyles.Add(ts)

    dg_werte.TableStyles("abgegebeneStunden").GridColu mnStyles("Personalnr").Width = 0

    End Function

    Aber ich bekomme immer die Fehlermeldung:
    Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.

    kann mir da jemand helfen?
    vielen Dank im vorraus.

  • #2
    Hallo,

    wenn die entweder visuell oder über AutoFormat vorgenommene Konfiguration über eine eigene DataGridTableStyle-Instanz geändert werden soll, müssen <b>alle</b> Members der originalen Konfiguration vorher zugewiesen werden. Ich habe leider nur ein C#-Beispiel dafür:
    <pre>
    // Kopiert die aktuellen Eigenschaften (Bsp: AutoFormat)
    // in den eigenen DataGridTableStyle
    private void CopyDefaultTableStyle(DataGrid datagrid,
    DataGridTableStyle ts)
    {
    ts.AllowSorting = datagrid.AllowSorting;
    ts.AlternatingBackColor = datagrid.AlternatingBackColor;
    ts.BackColor = datagrid.BackColor;
    ts.ColumnHeadersVisible = datagrid.ColumnHeadersVisible;
    ts.ForeColor = datagrid.ForeColor;
    ts.GridLineColor = datagrid.GridLineColor;
    ts.GridLineStyle = datagrid.GridLineStyle;
    ts.HeaderBackColor = datagrid.HeaderBackColor;
    ts.HeaderFont = datagrid.HeaderFont;
    ts.HeaderForeColor = datagrid.HeaderForeColor;
    ts.LinkColor = datagrid.LinkColor;
    ts.PreferredColumnWidth = datagrid.PreferredColumnWidth;
    ts.PreferredRowHeight = datagrid.PreferredRowHeight;
    ts.ReadOnly = datagrid.ReadOnly;
    ts.RowHeadersVisible = datagrid.RowHeadersVisible;
    ts.RowHeaderWidth = datagrid.RowHeaderWidth;
    ts.SelectionBackColor = datagrid.SelectionBackColor;
    ts.SelectionForeColor = datagrid.SelectionForeColor;
    }
    </pre&gt

    Comment


    • #3
      Hallo Matthias,

      ich hab es zwar nocht nicht getestet, aber wäre es nicht einfacher zu schreiben:

      dg_werte.Cols("Personalnr")Visible = false

      cu Enric

      Comment


      • #4
        Hallo Enrico,

        nein ganz so geht es bei mir nicht, aber trotzdem danke, denn du hast mich auf eine Idee gebracht die mich das Problem lösen lies

        Data_Werte.abgegebeneStunden.Columns.Remove("Perso nalnr")

        Das DataGrid läst mich die Spalte nicht ausblenden, zumindest hab ich das so nicht hinbekommen. Aber aus dem DataSet kann ich die spalte ausblenden.

        vielen Dank

        Comment


        • #5
          Hallo nochmal,

          ich wollt nochmal auf meinen Code vom Anfang zurückkommen.
          Der ist richtig und Funzt auch einwandfrei, ich versteh zwar nicht warum das erst nach einem Neustart von .net geklappt hat, aber jetzt blende ich mit dem Code die Spalte aus.

          cu Matthia

          Comment


          • #6
            Hallo nochmal,

            ich wollt nochmal auf meinen Code vom Anfang zurückkommen. Der ist richtig und Funzt auch einwandfrei, ich versteh zwar nicht warum das erst nach einem Neustart von .net geklappt hat, aber jetzt blende ich mit dem Code die Spalte aus.

            cu Matthia

            Comment


            • #7
              Hallo Enrico,

              nein ganz so geht es bei mir nicht, aber trotzdem danke, denn du hast mich auf eine Idee gebracht die mich das Problem lösen lies

              Data_Werte.abgegebeneStunden.Columns.Remove("Perso nalnr")

              Das DataGrid läst mich die Spalte nicht ausblenden, zumindest hab ich das so nicht hinbekommen. Aber aus dem DataSet kann ich die spalte ausblenden.

              vielen Dank

              Comment


              • #8
                Hallo nochmal,
                ich wollt nochmal auf meinen Code vom Anfang zurückkommen. Der ist richtig und Funzt auch einwandfrei, ich versteh zwar nicht warum das erst nach einem Neustart von .net geklappt hat, aber jetzt blende ich mit dem Code die Spalte aus.

                cu Matthia

                Comment

                Working...
                X