[VB .net] Datagrid et champ null

Datagrid et champ null [VB .net] - VB/VBA/VBS - Programmation

Marsh Posté le 28-04-2005 à 18:52:40    

Voila...  
J'ai un Datagrid rempli avec les champs d'une table, jusque là pas de soucis...  
 
Les problèmes commencent lorsque l'utilisateur saisi de nouvelles entrées et ne remplis pas tout les champs...  
Je voudrais faire un traitement qui remplace les champs null par "" ou "Non Renseigné"  
 
J'ai fait une jolie boucle qui fait ce traitement... qui ce passe bien...  
Code:  

Code :
  1. For i = 0 To Me.GridDiplome.VisibleRowCount - 2
  2.                 For j = 0 To 7
  3.                     If IsDBNull(Me.GridDiplome.Item(i, j)) And j <> 1 Then
  4.                         Me.GridDiplome.Item(i, j) = ""
  5.                         MsgBox(Me.GridDiplome.Item(i, j))
  6.                     End If
  7.                 Next
  8.             Next


 
Mais quand je fais la mise à jour de la base... Ca crashe parce que les champs sont à null...  
 
Code:  
 

Code :
  1. ObjetCommandBuilder = New SqlClient.SqlCommandBuilder(ObjetDataAdapter)
  2.             'Mise à jour
  3.             ObjetDataAdapter.Update(Me.GridDiplome.DataSource, "Diplomes" )
  4.             'On vide le DataSet et on le 'recharge' de nouveau.
  5.             ObjetDataSet.Clear()
  6.             ObjetDataAdapter.Fill(ObjetDataSet, "Diplomes" )
  7.             Me.GridDiplome.DataSource = ObjetDataSet
  8.             Me.GridDiplome.DataMember = "Diplomes"
  9. Je sais plus quoi faire, j'ai cherché partout j'ai rien trouvé... Si vous avez ne serait-ce que l'ombre d'une idée... ou une indication...


 
Merci d'avance...

Reply

Marsh Posté le 28-04-2005 à 18:52:40   

Reply

Marsh Posté le 28-04-2005 à 18:57:37    

je suis loin d'être sur de ce que je vais avancer mais dans ton code tu mets tes champs null a "".
Essaye(même si je me doute que c'est déjà fait) de le mettre à "non renseigné..."

Reply

Marsh Posté le 28-04-2005 à 19:06:23    

... J'ai tout essayé... "Toto" "Tata" "Machin" rien n'y fait...

Reply

Marsh Posté le 28-04-2005 à 19:24:44    

c'est tous les champs qui sont à null?

Reply

Marsh Posté le 28-04-2005 à 19:34:19    

Il faut que tu déclares un DataGridTableStyle :

Code :
  1. Dim mygrid As DataGridTableStyle = New DataGridTableStyle()


puis tu attaches cet objet à ton datagrid :

Code :
  1. DataGrid1.TableStyles.Add(mygrid)


enfin, tu met la propriété NullText des GridColumnStyles du DataGridTableStyle comme tu le souhaites (ici, je n'affiche rien) :

Code :
  1. For k = 0 To (laTable.Columns.Count) - 1
  2.    mygrid.GridColumnStyles(k).NullText = ""
  3. Next


(l'objet laTable est un DataTable)


Message édité par Harkonnen le 28-04-2005 à 19:37:14

---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 28-04-2005 à 19:35:55    

ben j'étais loin de ça...
désolé!

Reply

Marsh Posté le 28-04-2005 à 20:26:08    

Missi Beaucoup... Je teste ca demain au boulot... Missi Missi!! :jap:

Reply

Marsh Posté le 28-04-2005 à 21:11:48    

moi j'y suis encore....et pendant encore au moins deux heures...

Reply

Marsh Posté le 02-05-2005 à 10:25:15    

:??:  :??: Oui c'est encore moi...  :??:  :??:  
 
Missi pour ton aide mais j'ai encore un petit soucis car... Lorsque j'execute la mise à jour de la base via

Code :
  1. ObjetCommandBuilder = New SqlClient.SqlCommandBuilder(ObjetDataAdapter)
  2. 'Mise à jour
  3. ObjetDataAdapter.Update(Me.GridDiplome.DataSource, "Diplomes" )
  4. 'On vide le DataSet et on le 'recharge' de nouveau.
  5. ObjetDataSet.Clear()
  6. ObjetDataAdapter.Fill(ObjetDataSet, "Diplomes" )
  7. Me.GridDiplome.DataSource = ObjetDataSet
  8. Me.GridDiplome.DataMember = "Diplomes"


J'ai toujours mes champs a Null et pas a la valeur que j'ai mise dans NullText... Alors je sais pas si c'est faisable... Peut-etre que non et je ferais mieux de réécrire la requete de mise à jour????
 
Là, je suis plongée dans la MSDN, pour essayer de trouver mais si quelqu'un a un soupçon d'idée, il est le bienvenu...

Reply

Marsh Posté le 02-05-2005 à 16:18:11    

:bounce:

Reply

Marsh Posté le 02-05-2005 à 16:18:11   

Reply

Marsh Posté le 02-05-2005 à 18:37:16    

Arwenalia a écrit :


J'ai toujours mes champs a Null et pas a la valeur que j'ai mise dans NullText... Alors je sais pas si c'est faisable... Peut-etre que non et je ferais mieux de réécrire la requete de mise à jour????


bien sur que c'est possible, je l'ai fait ! sinon je t'aurais pas posté le code ci dessus hein [:kiki]
et ça n'a rien à voir avec une requête, il s'agit juste d'associer un DataGridTableStyle à ton Datagrid et de remplir la propriété NullText de ses différents DataGridColumnStyle
 

Arwenalia a écrit :


Là, je suis plongée dans la MSDN, pour essayer de trouver mais si quelqu'un a un soupçon d'idée, il est le bienvenu...


eh oh ! Mc Fly !! réveille toi, je t'ai donné la solution un peu plus haut  [:zozo]  
http://msdn.microsoft.com/library/ [...] ttopic.asp


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 02-05-2005 à 18:50:16    

Harkonnen a écrit :

eh oh ! Mc Fly !!


 
 [:xp1700]  

Reply

Marsh Posté le 02-05-2005 à 18:53:33    


mais qui voila ? [:cupra]
comment vas tu ma caille ?


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 02-05-2005 à 18:54:52    

Harkonnen a écrit :

mais qui voila ? [:cupra]
comment vas tu ma caille ?


 
super bien à fond de balle sa mère en short :o
Et toi loulou?

Reply

Marsh Posté le 02-05-2005 à 18:56:57    

darklord a écrit :

super bien à fond de balle sa mère en short :o
Et toi loulou?


moi ça va aussi :o (tu viens quand me voir ? [:cupra])
je vis au bord de la mer, je fais de l'Oracle, du Java et du Python :o
et des plugins Winamp à mes heures perdues :o


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed