vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Stress mit Datagrid beim 2.Aufruf 
Autor: Hänk
Datum: 12.05.05 13:00

Hallo Leute,

ich möchte aus meiner Hauptform heraus eine neue Form mit einem Datagrid anzeigen lassen. Beim ersten Aufruf klappt auch alles bestens. Beim zweiten Aufruf bekomme ich folgende Meldung...

Zusätzliche Informationen: Ein bereits übergeordneter DataGridTableStyle kann nicht zu einem anderen DataGrid hinzugefügt werden.

hier mein Code zum erstellen und anzeigen des Datagrids.

Public Class Form1
    Inherits System.Windows.Forms.Form
 
...Windows Formdesigner....
 
    Public ts1 As New DataGridTableStyle
    Public dc1 As New DataGridTextBoxColumn
    Public myDataSet As DataSet    ' Datencache im Arbeitsspeicher
    Public Z As Integer
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles MyBase.Load
 
        Call Datagrid_erzeugen()
        Call Datagrid_formatieren()
 
    End Sub
 
    Private Sub Datagrid_erzeugen()
 
        'Ein neues DataTable generieren
        Dim myDataTable As DataTable = New DataTable("Bezeichnung")
 
        'DataColumn und DataRow Objekte deklarieren
        Dim myDataColumn As DataColumn
        Dim myDataRow As DataRow
 
        ' 1. Columnspalte genereieren
        myDataColumn = New DataColumn
        myDataColumn.DataType = System.Type.GetType("System.String")  ' hier 
        ' kann nur Text eingegeben werden
        myDataColumn.ColumnName = "Name"
        myDataColumn.ReadOnly = True
 
        'Das Column zur DataTable hinzufügen
        myDataTable.Columns.Add(myDataColumn)
 
        Dim a As Short
        For a = 1 To 31
            ' 2.-31.Columnspalte generieren
            myDataColumn = New DataColumn
            myDataColumn.DataType = System.Type.GetType("System.String")
            myDataColumn.Caption = ""
            myDataColumn.ColumnName = a.ToString  ' muß identisch sein mit dem 
            ' MappingName des Spalten
            myDataColumn.ReadOnly = False
 
            'Das Column zur DataTable hinzufügen
            myDataTable.Columns.Add(myDataColumn)
        Next
 
        myDataSet = New DataSet
        myDataSet.Tables.Add(myDataTable)
 
 
        '------------- Datagrid füllen --------------------------
        Dim b As Short
        Dim Zahl As Integer = 1
        For a = 0 To 9
            myDataRow = myDataTable.NewRow
            ' zuerst die 1.Spalte (Name) belegen
            myDataRow("Name") = "Name " & (a + 1).ToString
 
            ' anschließend die restlichen Spalten (muß pro Spalte von vorne bis 
            ' hinten erzeugt werden)
            For b = 1 To 31
                myDataRow(b) = Zahl.ToString
                Zahl += 1
            Next
 
            ' erzeugte Spalten ausgeben
            myDataTable.Rows.Add(myDataRow)
        Next
 
    End Sub
 
    Private Sub Datagrid_formatieren()
 
        ts1.MappingName = "Bezeichnung"
        ts1.AlternatingBackColor = Color.Gray
 
        dc1.MappingName = "Name"
        dc1.HeaderText = "Namen"
        dc1.Width = 130
        dc1.ReadOnly = True
 
        ts1.GridColumnStyles.Add(dc1)
 
        Dim a As Short
        For a = 1 To 31
            Dim Spalte As New DataGridTextBoxColumn
            Spalte.MappingName = a.ToString
            Spalte.HeaderText = a.ToString
            Spalte.Width = 25
 
            ts1.GridColumnStyles.Add(Spalte)
        Next
 
    End Sub
 
    'Datagrid anzeigen
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Button1.Click
 
        Dim F As New Form2
 
        F.DataGrid1.TableStyles.Clear()
        Z += 1
        F.DataGrid1.CaptionText = Z.ToString
 
' Hier hab ich dann die Fehlermeldung beim zweiten Aufruf
        F.DataGrid1.TableStyles.Add(ts1)                ' das erzeugte 
        ' TableStyle dem DataGrid hinzufügen.
        F.DataGrid1.SetDataBinding(myDataSet, "Bezeichnung")  ' den erzeugten 
        ' Datencache an das DataTable (Bezeichnung) binden.
 
        F.ShowDialog()
 
    End Sub
End Class
hab schon ein paar Sachen probiert, wie

F=Nothing
ts1=Nothing

Bitte kann jemand einem Grid-Anfänger helfen.

Vielen Dank in Vorraus

Hänk

(Wer früh aufsteht hat mehr vom Tag)

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Stress mit Datagrid beim 2.Aufruf906Hänk12.05.05 13:00
Re: Stress mit Datagrid beim 2.Aufruf677ModeratorFZelle12.05.05 13:22
Re: Stress mit Datagrid beim 2.Aufruf596Hänk12.05.05 20:13
Re: Stress mit Datagrid beim 2.Aufruf603ModeratorFZelle12.05.05 20:42
Re: Stress mit Datagrid beim 2.Aufruf599Hänk12.05.05 21:19
Re: Stress mit Datagrid beim 2.Aufruf581Oliver_G.12.05.05 13:26
Re: Stress mit Datagrid beim 2.Aufruf551Micke12.05.05 13:26
Re: Stress mit Datagrid beim 2.Aufruf565Hänk12.05.05 20:09
Re: Stress mit Datagrid beim 2.Aufruf572Micke12.05.05 22:18
Re: Stress mit Datagrid beim 2.Aufruf640arafat13.05.05 11:08
Re: Stress mit Datagrid beim 2.Aufruf669Hänk14.05.05 10:28

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel