Partage
  • Partager sur Facebook
  • Partager sur Twitter

La fameuse datagridview que je n'arrive pas à créer!!!

Sur visual basic 2010, help help help!!!

    25 août 2011 à 17:25:13

    Hello les Zero!!! :p
    J'ai un gros probleme et cà urge, et je vous demande de l'aide!!!
    J'aimerais créer un tableau comme sur excel, avec les colones " code, designation, quantité, cours, estimation, cours actuel,valorisation, plus value" dans une ligne tout en haut, et peut etre encore 2 lignes et en bas une ligne total qui ferait la somme des éléments " quantité, estimation, valorisation". J'aimerais que l'on ne puisse pas entrer d'autres données que des chiffres dans les colones " quantité,cours, cours actuel" et ce qu'on veut dans les colones "code et désignation" sachant que le calcul est automatique pour estimation(quantité * cours) et valorisation(quantité*cours actuel) et plus value(valorisation- estimation") et donc on ne peut pas modifier ces 2dernieres colones ni y inscrire quelque chose. Dernier truc : vu la possibilité d'inscrire plusieurs données, donc plusieurs lignes, peut-on faire en sorte qu'une ligne se rajoute automatiquement quand il n'en reste plus entre la ligne précédente et la ligne total?
    Sur les forum j'ai lu qu'il fallait utiliser une datagridview, et que c'etai redoutablement efficace, je vois effectivement qu el'on peut obtenir ce qu eje cherche avec.
    Cependant, je teste mais ca ne donne rien, et pourtant je suis intelligent :-° On parle de dataset, de binding, certains parlent de créer un fichier xml , etc etc, les solutions semblent nombreuses et je n'arrive pourtant pas à comprendre et reproduire.
    Du coup, ces chers Zer0s me donneront-ils le code miracle? je suis bloqué à cette partie dans mon programme, et sans cà impossible d'avancer, je dois reproduire ce genre de tableau sur 4 autres fenetres filles, et ce serait sympa si j'avais le code miracle!
    Merci pour tout éclaircissement, et code ( les tutoriels, j'en ai déja lu beaucoup, donc ...heuu non merci vu l'urgence de la situation^^ )

    Cordialement mes chèr(e)s
    • Partager sur Facebook
    • Partager sur Twitter
      27 août 2011 à 18:13:57

      Bonjour,j'ai pas plus rapide.... :-°

      Mais ce code (pour te montrer vers quoi te diriger) n'est pas exploitable car tu dois créer des controles. :(


      Tape :"coach vb.net" dans google. ;)

      En 1 a 2 semaines tu devrais t'en sortir. :euh:

      (Me demande pas de t'expliquer ce code car ce serai trop long et le coach VB existe déjà.)

      Bon courage :p


      #Region "Gestion de la table"
          Function CreateDataTable() As DataTable
              Dim result As DataTable = New DataTable("BaseDeDonnees")
              result.Columns.Add(New DataColumn("Articles", GetType(String)))
              result.Columns.Add(New DataColumn("Diametre", GetType(String)))
              result.Columns.Add(New DataColumn("Code", GetType(String)))
              result.Columns.Add(New DataColumn("Prix", GetType(Double)))
              result.Columns.Add(New DataColumn("A", GetType(Integer)))
              result.Columns.Add(New DataColumn("B", GetType(Integer)))
              result.Columns.Add(New DataColumn("C", GetType(Integer)))
              result.Columns.Add(New DataColumn("D", GetType(Integer)))
              result.Columns.Add(New DataColumn("E", GetType(Integer)))
              Return result
          End Function
          Sub AddRowToDataTable(ByVal readrow As String, ByVal table As DataTable)
              Dim index As Integer = 0
              Dim readvalues As String() = readrow.Split(";")
              Dim datarow As DataRow = table.NewRow()
              For Each value As String In readvalues
                  Select Case index
                      Case 0 : datarow("Articles") = value.Trim()
                      Case 1 : datarow("Diametre") = value.Trim()
                      Case 2 : datarow("Code") = value.Trim()
                      Case 3 : datarow("Prix") = value.Trim()
                      Case 4 : datarow("A") = value.Trim()
                      Case 5 : datarow("B") = value.Trim()
                      Case 6 : datarow("C") = value.Trim()
                      Case 7 : datarow("D") = value.Trim()
                      Case 8 : datarow("E") = value.Trim()
                  End Select
                  index += 1
              Next
              table.Rows.Add(datarow)
          End Sub
      #End Region
      #Region "Lecture de la base de données"
          Function Readfile(ByVal FileName As String) As DataTable
              Dim table As DataTable = Nothing
              Dim readrow As String = String.Empty
              Dim isfirstrow As Boolean = Boolean.TrueString
              'Lecture du fichier
              Using sr As StreamReader = New StreamReader(FileName)
                  Do
                      readrow = sr.ReadLine()
                      If Not readrow Is Nothing Then
                          If isfirstrow Then
                              table = CreateDataTable()
                              isfirstrow = False
                          End If
                          'Ajoute la ligne a la table memoire
                          addrowtodatatable(readrow, table)
                      End If
                  Loop While readrow IsNot Nothing
      
              End Using
              Return table
          End Function
      
          Sub writefile(ByVal filename As String, ByVal DonneeSource As DataTable)
              Using sw As New StreamWriter(filename, False)
                  For Each row In CType(DonneeSource, DataTable).Rows
      
                      Dim CaseVidearticle As String = ""
                      Dim CaseVidediametre As String = ""
                      Dim CaseVidecode As String = ""
                      Dim CaseVideprix As String = ""
                      Dim CaseVideA As String = ""
                      Dim CaseVideB As String = ""
                      Dim CaseVideC As String = ""
                      Dim CaseVideD As String = ""
                      Dim CaseVideE As String = ""
                      If row("Articles") Is System.DBNull.Value Then
                          CaseVidearticle = "0"
                      Else
                          CaseVidearticle = row("Articles").ToString()
                      End If
                      If row("Diametre") Is System.DBNull.Value Then
                          CaseVidediametre = "0"
                      Else
                          CaseVidediametre = row("Diametre").ToString()
                      End If
                      If row("Code") Is System.DBNull.Value Then
                          CaseVidecode = "0"
                      Else
                          CaseVidecode = row("Code").ToString()
                      End If
                      If row("Prix") Is System.DBNull.Value Then
                          CaseVideprix = "0"
                      Else
                          CaseVideprix = row("Prix").ToString()
                      End If
                      If row("A") Is System.DBNull.Value Then
                          CaseVideA = "0"
                      Else
                          CaseVideA = row("A").ToString()
                      End If
                      If row("B") Is System.DBNull.Value Then
                          CaseVideB = "0"
                      Else
                          CaseVideB = row("B").ToString()
                      End If
                      If row("C") Is System.DBNull.Value Then
                          CaseVideC = "0"
                      Else
                          CaseVideC = row("C").ToString()
                      End If
                      If row("D") Is System.DBNull.Value Then
                          CaseVideD = "0"
                      Else
                          CaseVideD = row("D").ToString()
                      End If
                      If row("E") Is System.DBNull.Value Then
                          CaseVideE = "0"
                      Else
                          CaseVideE = row("E").ToString()
                      End If
      
                      sw.WriteLine(String.Concat(CaseVidearticle, ";" _
                      , CaseVidediametre, ";" _
                      , CaseVidecode, ";" _
                      , CaseVideprix, ";" _
                      , CaseVideA, ";" _
                      , CaseVideB, ";" _
                      , CaseVideC, ";" _
                      , CaseVideD, ";" _
                      , CaseVideE))
                  Next
                  sw.Close()
              End Using
          End Sub
      #End Region
      
          Private Sub QUITTERToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles QUITTERToolStripMenuItem.Click
              Me.Close()
          End Sub
      
          Private Sub BaseDeDonnees_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
      
              'Creation de la base de donnee en memoire
              Dim NewDataTable As DataTable
              'Lecture des différentes base de données
              NewDataTable = Readfile("Data.dat")
              'Interface base de donnee / affichage
              MainBindingSource.DataSource = NewDataTable
              DataGrid.DataSource = MainBindingSource
      
      • Partager sur Facebook
      • Partager sur Twitter

      La fameuse datagridview que je n'arrive pas à créer!!!

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown