none
datagridview RRS feed

  • Question

  • bonjour tout le monde

    quel est le code qui execute une datagridview contient une colonne de type combobox.

    ce type de colonne ne me donne pas la posibilite de saisir un text comme le cas d'une combobox normal

    est ce  qu'il ya une possibilite de rendre ce type de colonne(colmuncombobox) comme une combobox normal ?

    pour moi j'ai essaye avec une autre solution : sans utiliser une datagridview avec le colonne textbox mai j'ai ajouter une listbox : je veux que au moment de saisie au datagridview la liste box se mis a jour avec les valeurs  qui commence avec la valeur saisie au datagridview mais ne ca marche pas bien (il marche bien une textbox mais ne marche pas avec le datagridview) 

    voila mon code:

    Imports System
    Imports System.Collections.Generic
    Imports System.ComponentModel
    Imports System.Data
    Imports System.Drawing
    Imports System.Linq
    Imports System.Text
    Imports System.Windows.Forms
    
    Imports System.Data.SqlClient
    Public Class Form1
      Inherits Form
    
      Public Sub New()
    
        MyBase.New()
        InitializeComponent()
        AddHandler DataGridView1.EditingControlShowing, AddressOf Me.dataGridView1_EditingControlShowing
    
      End Sub
    
      Private Sub dataGridView1_EditingControlShowing(ByVal sender As Object, ByVal e As DataGridViewEditingControlShowingEventArgs)
        If (DataGridView1.CurrentCell.ColumnIndex = 0) Then
          Dim tb As TextBox = CType(e.Control, TextBox)
          AddHandler tb.TextChanged, AddressOf Me.tb_TextChanged
        End If
        If (DataGridView1.CurrentCell.ColumnIndex = 0) Then
          Dim tb As TextBox = CType(e.Control, TextBox)
          AddHandler tb.TextChanged, AddressOf Me.tb_TextChanged
        End If
    
      End Sub
    
      Private Sub tb_TextChanged(ByVal sender As Object, ByVal e As EventArgs)
        'MessageBox.Show(Me.DataGridView1.CurrentCell.Value)
        Dim cmd As New SqlCommand
        cmd.Connection = cn
        cmd.CommandText = "select * from compte where numero like '" & Me.DataGridView1.Rows(0).Cells(0).Value & "%'"
        Dim da As New SqlDataAdapter
        Dim set1 As New DataSet
        da.SelectCommand = cmd
        da.Fill(set1, "f")
        Me.ListBox1.DataSource = set1.Tables(0)
        Me.ListBox1.DisplayMember = "intitule"
    
      End Sub
                       merci d'avoir votre reponse
                               cordialement
    mardi 27 avril 2010 17:07

Réponses

Toutes les réponses

  • ok je suis desolé. j'attend vos réponses merci cordialement
    mercredi 28 avril 2010 12:58
  • Bonjour,

     

    Je n’ai pas compris toute votre question. Vous voulez modifier les éléments d’un ListView en fonction de l’élément sélectionné dans le DataGridView ?

     

    Cordialement,

    Alex


    Appel à contribution ! http://social.msdn.microsoft.com/Forums/fr-FR/vbasicfr/thread/bd974e0e-5519-4122-b8fc-3b998207c34f
    mercredi 28 avril 2010 13:03
  • ce n'ai pas une liste view c'est une listbox.

    je veut modifier les elements de listbox au fonction de l'element saisie au datagridview.

    ou bien je peut changer le type de colonne de datagridview a un type de ComboBoxColumn mais ce type de colonne ne me donne pas la possibilite de saisir un text juste j'ai la possibilité de selectionner.

    je veux une solution (comme le cas de recherche sur google) si possible en utilisant le datagridview.

    merci

    cordialement,

    ftya

    mercredi 28 avril 2010 16:13
  • Bonjour,

    Le scénario que vous décrivez n'est pas supporté.

    Il vous faudra héberger un ListBox ou ComboBox via cette procédure :

    http://msdn.microsoft.com/fr-fr/library/7tas5c80.aspx

    Cordialement


    Gilles TOURREAU - MVP C# - Architecte .NET/Consultant/Formateur
    • Marqué comme réponse Alex Petrescu vendredi 30 avril 2010 10:36
    mercredi 28 avril 2010 20:10
    Modérateur
  • merci Mr Gille, en fin j'ai trouvé ce que je veux . Merci Cordialement ftya
    lundi 3 mai 2010 22:50