vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 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
DataGridView und ColumnError 
Autor: Hinsch
Datum: 19.05.10 15:29

Hallo,

ich habe ein Problem mit dem DataGridView und der Zuordnung der zugehörigen Spalten.

Mein DatDridView ist über eine BindingSource ab eine DataTable in einem DataSet gebunden. Die Eigenschaft AutoGenerateColumns ist auf False gesetzt. Ich füge einzelen Spalten dem DataGridView hinzu. Die Validierung erfolgt in einer eigenen Komponente, in der die Fachlichkeit gekapselt ist. An die Komponenten wird das DataSet übergeben.

Wenn jetzt in der Komponente die Eigenschaft SetColumnError("Column-Name","Fehlertext") an dem ROW-Objekt gesetzt wird, dann funktioniert das im Prinzip. Problem ist aber, dass nicht alle Spalte der ROW in der GUI angezeigt werden. Dadurch stimmt der ColumnIndex des DataGridView nicht mit der DataTable überein.

Setze ich statt Column-Name den Index auf 1 oder 2, dann wird der Fehlertext korrekt im Grid an der Spalte 1 bzw 2 angezeigt.

Ein Randproblem ist dann noch, dass ich das komplette DataTable-Objekt durchlaufen muss. Nur die geänderten Rows mit GetChanges funktioniert nicht!

Mache ich da etwas falsch oder ist es einfach so, dass DataTable und DataGridView übereinstimmen müssen.

Danke für Eure Hinweise im Voraus!!!

-----------------------------

Nachfolgend der Code-Auszug:

'
' DATENBINDUNG
'
        Dim columnHeader As String
        Dim columnData As String
        Dim i As Integer
 
        ' Datenbindung ComboBox im Grid Dokumentationen
        _bsBauteile.DataSource = _dsTabelle.Tables("Tabelle")
 
        With Me.GridTabelle
 
            .Columns.Clear()
            .AutoGenerateColumns = False
            .AllowUserToDeleteRows = False
 
            i = -1
 
            columnHeader = "Bauteil-ID"
            columnData = "doanid"
            i = i + 1
            .Columns.Add(columnHeader, columnHeader)
            .Columns(i).DataPropertyName = columnData
            .Columns(i).Width = 100
 
            columnHeader = "Bezeichnung"
            columnData = "bezeichnung"
            i = i + 1
            .Columns.Add(columnHeader, columnHeader)
            .Columns(i).DataPropertyName = columnData
            .Columns(i).Width = 300
 
        End With
 
        ' GUI an DataView binden
        Me.GridTabelle.DataSource = _bsBauteile
 
'
' VALIDATION in eigener Komponente
'
        If Not (pDataSet.Tables("Tabelle").GetChanges() Is Nothing) Then
 
            ' funktioniert nicht mit GetChanges!!!!!
            'For Each row As DataRow In pDataSet.Tables("Tabelle").GetChanges( 
            ' ).Rows
            For Each row As DataRow In pDataSet.Tables("Tabelle").Rows
                row.ClearErrors()
                If String.IsNullOrEmpty(row.Item("doanid")) Then
                    row.SetColumnError("doanid", "Bauteil-Id nicht angegeben")
                End If
                If row.IsNull("bezeichnung") 
                   OrElse String.IsNullOrEmpty(row.Item("bezeichnung")) Then
                    row.SetColumnError("bezeichnung", "Bezeichnung nicht" & _
                      "angegeben")
                End If
            Next
 
        End If
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
DataGridView und ColumnError3.176Hinsch19.05.10 15:29
Re: DataGridView und ColumnError2.388Hinsch19.05.10 16:16
Re: DataGridView und ColumnError2.382ModeratorDaveS20.05.10 12:19
Re: DataGridView und ColumnError2.470Hinsch20.05.10 12:47
Re: DataGridView und ColumnError2.503ModeratorDaveS20.05.10 13:37
Re: DataGridView und ColumnError2.374Hinsch20.05.10 15:23
Re: DataGridView und ColumnError2.359Superpeppi21.05.10 11:57
Re: DataGridView und ColumnError2.362ModeratorDaveS21.05.10 12:24
Re: DataGridView und ColumnError2.419Superpeppi21.05.10 14:04

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