Datagridview et Checkbox en VBExpress en peut plus ...

Résolu
surfzoid Messages postés 463 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 21 avril 2010 - 18 avril 2007 à 17:24
surfzoid Messages postés 463 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 21 avril 2010 - 18 avril 2007 à 19:28
Salut a tous, ames généreuses.
Voila mon prob, j'ai une grille DGV qui est remplie automatiquement a partir d'un csv, ensuite grace a un "CREATE TABLE" je construit une table dans une base Acces, j'ai 3 colonnes qui ont comme formats "BIT"(j'ai aussi essayer "logical" et "yesno"), a ce moment là la grille est liée a cette table Acces et m'affiche des checkbox au niveau des 3 colonnes a états binaire, trés bien, seulement voila par défaut je réssit a mettre a true ou false les 3 cases d'une nouvelle ligne (donc a modifier la valeure par défaut et /ou la Nullevalue) mais si on ne clique pas sur la case pour changer la valeure par défaut, quand ont enregistre ont a 3 cellule vide dans la table enregistrée, si ont modifie la valeur des case en cliquand au moins une foi et qu ont enregistre, la ont bien des valeurs true/false ou -1/0.
j'ai essayer pas mal de truc mais rien n'y fait :
dire dans le dataset que la colonne n'autorise pas les cellules null
crée une cellule perso comme ceci :
                    For i As Integer = 6 To 8
                        Dim column As DataGridViewColumn = _
                            Me.DataGridViewDim.Columns(i)
                        Dim cell As DataGridViewCheckBoxCell = _
                            New DataGridViewCheckBoxCell()

                        cell.FalseValue = 0
                        cell.TrueValue = 1
                        cell.IndeterminateValue = False
                        cell.Style.NullValue = True
                        Console.WriteLine(cell.Value)
                        cell.Style.BackColor = Color.Wheat
                        column.CellTemplate = cell
                    Next
Mais rien de rien, ça perssiste a me laissé un champs vide a la place d'une valeur si on enregistre en mettant par exemple seulement une valeur dans la premiere colonne d'une nouvelle ligne.
Je séche , a l'aide  please...

De plus je bataille dur pour trouver le moyen au moment de mon create table pour dire au niveau des 3 colonnes binaire de ne pas utilisé l'affichage de liste par défaut mais plutot celui des checkbox afin d'affiché non pas des -1 et 0 mais des cases à cocher dans Acces

1 réponse

surfzoid Messages postés 463 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 21 avril 2010
18 avril 2007 à 19:28
N'ayant plus un seul cheveux sur le crane, lol, je finit par adopter cette solution bidon :

        Try
            Dim TheRowIsDirty As Boolean = False
            Select Case Me.TabControl1.SelectedTab.Text
                Case FromFileMess                    If Me.DataGridViewMess.IsCurrentRowDirty True Then TheRowIsDirty True
                Case FromFileProd                    If Me.DataGridViewProd.IsCurrentRowDirty True Then TheRowIsDirty True
                Case FromFileChutes                    If Me.DataGridViewChutes.IsCurrentRowDirty True Then TheRowIsDirty True
                Case FromFileDimensions                    If Me.DataGridViewDim.IsCurrentRowDirty True Then TheRowIsDirty True
            End Select
            If TheRowIsDirty = True Then
                Dim Answ As DialogResult = MessageBox.Show( _
                "Votre derniére ligne ne semble pas validée et sera perdue, etes vous sur ?" & vbCrLf & _
                "NOTA : La validation d'une ligne s'efectue par l'apuie sur entrée ou la selection" & _
                " d'une cellule sur une autre ligne.", "Informations", MessageBoxButtons.YesNo, _
                MessageBoxIcon.Information)
                If Answ = Windows.Forms.DialogResult.No Then Exit Sub
            End If
        Catch ex As Exception

        End Try
3
Rejoignez-nous