Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1356 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VB .NET] DataGrid et Checkboxes

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VB .NET] DataGrid et Checkboxes

n°1077978
Arwenalia
Posté le 10-05-2005 à 15:51:32  profilanswer
 

J'ai de nouveau un petit souci avec les Datagrid...
J'essaie d'avoir trois colonnes contenant des checkboxes, juste pas de soucis...
J'ai regardé un exemple sur le site de microsoft... et j'ai codé une solution qui est sensée marcher...  
Comme vous vous en doutez ca marche pas... Mais j'ai pas d'erreur lors de la construction du Datagrid...  
 
Mais j'ai une NullReferenceException sur J.ShowDialog(). :??: Du coup, j'ai passé mon code au crible et je trouve pas...  
 
Merci d'avance pour l'aide... Si quelqu'un a une idée...

mood
Publicité
Posté le 10-05-2005 à 15:51:32  profilanswer
 

n°1077985
FlorentG
Unité de Masse
Posté le 10-05-2005 à 15:53:20  profilanswer
 

Ce serait plus simple si tu donnais le bout de code qui lance le nullmachinexception :)

n°1078039
Arwenalia
Posté le 10-05-2005 à 16:11:53  profilanswer
 

Ben j'osais pas parce qu'il est super long ... Enfin je vais essayer de condenser
 
 

Code :
  1. Public Sub New()
  2.         MyBase.New()
  3.         Try
  4.             'Cet appel est requis par le Concepteur Windows Form.
  5.             InitializeComponent()
  6.             'Ajoutez une initialisation quelconque après l'appel InitializeComponent()
  7.             AutreTable = New DataTable("SurDossiers" )
  8.             AutreTable.Columns.Add(New DataColumn("Dossier" ))
  9.             AutreTable.Columns.Add(New DataColumn("Nom" ))
  10.             AutreTable.Columns.Add(New DataColumn("Prenom" ))
  11.             AutreTable.Columns.Add(New DataColumn("Admis", GetType(Boolean)))
  12.             AutreTable.Columns.Add(New DataColumn("Liste", GetType(Boolean)))
  13.             AutreTable.Columns.Add(New DataColumn("Refuse", GetType(Boolean)))
  14.             Dim ts As New DataGridTableStyle
  15.             ts.MappingName = "SurDossiers"
  16.             Dim AutreSet As DataSet = New DataSet("myDataSet" )
  17.             AutreSet.Tables.Add(AutreTable)
  18.             Me.GridNote.SetDataBinding(AutreSet, "SurDossiers" )
  19.             AddData()
  20.             Dim dgtbc As DataGridTextBoxColumn = New DataGridTextBoxColumn
  21.             dgtbc.MappingName = "Dossier"
  22.             dgtbc.HeaderText = "Dossier"
  23.             dgtbc.Width = 70
  24.             ts.GridColumnStyles.Add(dgtbc)
  25.             dgtbc = New DataGridTextBoxColumn
  26.             dgtbc.MappingName = "Nom"
  27.             dgtbc.HeaderText = "Nom"
  28.             dgtbc.Width = 150
  29.             ts.GridColumnStyles.Add(dgtbc)
  30.             dgtbc = New DataGridTextBoxColumn
  31.             dgtbc.MappingName = "Prenom"
  32.             dgtbc.HeaderText = "Prenom"
  33.             dgtbc.Width = 150
  34.             ts.GridColumnStyles.Add(dgtbc)
  35.             Dim db As DataGridBoolColumnInherit = New DataGridBoolColumnInherit
  36.             db.HeaderText = "Admis"
  37.             db.TrueValue = "Admis"
  38.             db.Width = 70
  39.             db.MappingName = "Admis"
  40.             ts.GridColumnStyles.Add(db)
  41.             db = New DataGridBoolColumnInherit
  42.             db.HeaderText = "Liste"
  43.             db.TrueValue = "Liste"
  44.             db.Width = 70
  45.             db.MappingName = "Liste"
  46.             ts.GridColumnStyles.Add(db)
  47.             db = New DataGridBoolColumnInherit
  48.             db.HeaderText = "Refuse"
  49.             db.TrueValue = "Refuse"
  50.             db.Width = 70
  51.             db.MappingName = "Refuse"
  52.             ts.GridColumnStyles.Add(db)
  53.             ts.AllowSorting = False
  54.             ts.AlternatingBackColor = Color.AntiqueWhite
  55.             ts.BackColor = Color.White
  56.             ts.ForeColor = Color.Black
  57.             ts.GridLineColor = Color.Gainsboro
  58.             ts.HeaderBackColor = Color.Gainsboro
  59.             ts.SelectionBackColor = Color.Lavender
  60.             ts.ForeColor = Color.Black
  61.             Me.GridNote.TableStyles.Add(ts)
  62.         Catch exc As Exception
  63.             Console.WriteLine(exc.ToString)
  64.         End Try
  65.     End Sub
  66.  
  67.     Private Sub AddData()
  68.         Dim dRow As DataRow
  69.         Dim Table As DataTable
  70.         Dim RowNumber As Integer
  71.         Table = Connexion.ConnexionSQL("SELECT Candidats.Dossier, Candidats.Nom, Candidats.Prenom " & _
  72.                                        " FROM Candidats, SurDossiers " & _
  73.                                        " WHERE SurDossiers.Dossier = Candidats.Dossier " & _
  74.                                        " AND (SurDossiers.Valide = 'Validé')" & _
  75.                                        " ORDER BY Nom,Prenom", "SurDossiers" )
  76.         While RowNumber < Table.Rows.Count
  77.             dRow = AutreTable.NewRow()
  78.             With Table.Rows(RowNumber)
  79.                 dRow("Dossier" ) = .Item("Dossier" )
  80.                 dRow("Nom" ) = .Item("Nom" )
  81.                 dRow("Prenom" ) = .Item("Prenom" )
  82.                 dRow("Admis" ) = 0
  83.                 dRow("Liste" ) = 0
  84.                 dRow("Refuse" ) = 0
  85.                 AutreTable.Rows.Add(dRow)
  86.             End With
  87.             RowNumber += 1
  88.         End While
  89.         AutreTable.AcceptChanges()
  90.     End Sub


 
Voilà ca ressemble a ca ma construction du Datagrid... Mais j'ai pas d'erreur la-dessus bien ca vienne de là...
Comme je l'ai dit j'ai une erreur sur le ShowDialog... Mais quand je mets en commentaires tout ce qui concerne les 3 colonnes checkbox tout va bien...  :pt1cable:


Message édité par Arwenalia le 10-05-2005 à 16:13:18
n°1078154
Arwenalia
Posté le 10-05-2005 à 17:10:06  profilanswer
 

Après une journée, j'ai trouvé d'ou ça vient... En gros il me faut pas que le Datagrid soit ajouté dans le mode Design, il ne faut le gérer que par la programmation.. Voilà, j'ai quelques soucis de présentation maintenant mais bon ca devrait aller...
 
Ben non en fait ca vient juste du fait de ça
 
Dim ts As New DataGridTableStyle  
ts.MappingName = "SurDossiers" <- J'utilise le meme nom que pour le dataTable et il aime pas... Du coup, je peux pas mettre bien mes colonnes a la bonne taille... Rrrrrrrrrr Le truc c que dans l'exemple ca marche bien... :??:  


Message édité par Arwenalia le 10-05-2005 à 17:25:22

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VB .NET] DataGrid et Checkboxes

 

Sujets relatifs
[C# .NET] Classes, héritage, 3D[Visual C++ .NET] Conversion String -> const char *
Manipulation de fichier XML complexe et DataGrid[RESOLU][C# .NET] Créer des objets Windows Form par le code source
Lire une feuille excel .xls depuis VB.NET[VB.NET] Déployer un exe sur une autre machine [RÉSOLU]
J'arrive pas à affiche ma table sous datagridproblème de remplissage d'une datagrid
Passer de VS.Net 2003 à VS.Net 2005 peut-il se faire gratuitement?Winforms - Datagrid - associer une formule a une colonne
Plus de sujets relatifs à : [VB .NET] DataGrid et Checkboxes


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR