IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

copier dans datagridview


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut copier dans datagridview
    bonjour
    voila mon problème

    dans mon application j'ai un timer se timer copie le texte d'une textbox pour le coller dans un datagridview.
    sa marche très bien mais il le copie seulement sur une seul ligne
    je voudrait qu'il continue sur la ligne 2 puis 3 puis 4 etc......
    voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
            My.Computer.Clipboard.Clear()
            My.Computer.Clipboard.SetText(ToolStripTextBox1.Text)
            If My.Computer.Clipboard.ContainsText Then
                ToolStripTextBox1.Text = My.Computer.Clipboard.GetText
            End If
            Dim rowSplitter As Char() = {vbCr, vbLf}
            Dim columnSplitter As Char() = {vbTab}
     
            Dim dataInClipboard As IDataObject = Clipboard.GetDataObject()
            Dim stringInClipboard As String = CStr(dataInClipboard.GetData(DataFormats.Text))
            Dim rowsInClipboard As String() = stringInClipboard.Split(rowSplitter, StringSplitOptions.RemoveEmptyEntries)
     
            Dim r As Integer = Form6.DataGridView1.SelectedCells(0).RowIndex
            Dim c As Integer = Form6.DataGridView1.SelectedCells(0).ColumnIndex
     
            If (Form6.DataGridView1.Rows.Count < (r + rowsInClipboard.Length)) Then
     
                Form6.DataGridView1.Rows.Add(r + rowsInClipboard.Length - Form6.DataGridView1.Rows.Count)
     
            End If
     
            Dim iRow As Integer = 0
     
            While iRow < rowsInClipboard.Length
     
                Dim valuesInRow As String() = rowsInClipboard(iRow).Split(columnSplitter)
     
                Dim iCol As Integer = 0
     
                While iCol < valuesInRow.Length
     
                    If (Form6.DataGridView1.ColumnCount - 1 >= c + iCol) Then
     
                        Form6.DataGridView1.Rows(r + iRow).Cells(c + iCol).Value = valuesInRow(iCol)
     
                    End If
     
                    iCol += 1
     
                End While
     
                iRow += 1
     
            End While
        End Sub
    alors je ne sais pas trop comment mis prendre pour faire sa
    avez vous la soluss ?

  2. #2
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    Mais a la base. Tu as combien de lignes dans ton DGV ?

    0 ? et tu souhaites ajouté au fur et a mesure des lignes ?

  3. #3
    Invité
    Invité(e)
    Par défaut
    a la base il y a une ligne et je voudrait qu'il les ajoute au fur et a mesure que le timer colle le texte

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 700
    Par défaut
    bonjour,
    à tester :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
            If (Form6.DataGridView1.Rows.Count <= (r + rowsInClipboard.Length)) Then
     
                Form6.DataGridView1.Rows.Add(r+1 + rowsInClipboard.Length - Form6.DataGridView1.Rows.Count)
     
            End If
    J'ai mis un plus grand ou égal dans le "if", et un "r+1" dans le traitement, pour que le dgv ait toujours une ligne neuve.
    C'est celle ci qui se sélectionne et qui reçoit la copie du timer.

  5. #5
    Invité
    Invité(e)
    Par défaut
    merci ton code marche le seul souci
    c'est que je suis obliger d'ouvrir ma form6 et de sélectionne la ligne en dessous pour qu'il continue de copier, ou si non si je ne fait pas sa il reste sur la premiere ligne

  6. #6
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    Question bête, mais parfois très utiles :

    As tu exécuter ton code au pas a pas. Tu verras surement pourquoi il ne fait qu'une ligne (sortie de boucle, condition non remplis, exception....)

Discussions similaires

  1. Copier un datagridview dans un autre datagridview
    Par ghywa dans le forum Windows Forms
    Réponses: 2
    Dernier message: 21/05/2013, 10h38
  2. [Débutant] Copier/ coller d'une Row d'un Datagriview 2 dans Datagridview 1
    Par jeremyvb11 dans le forum VB.NET
    Réponses: 16
    Dernier message: 14/01/2013, 20h35
  3. Copier dans un Array
    Par Goundy dans le forum Langage
    Réponses: 3
    Dernier message: 26/11/2005, 21h24
  4. [Apache] Copier dans un répertoire sur le réseau
    Par licorne dans le forum Apache
    Réponses: 10
    Dernier message: 23/11/2005, 16h40
  5. [javascript] copier dans le "clipboard"
    Par LE NEINDRE dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/08/2005, 14h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo