Cependant, si je remplis le datagrid avec une autre table de ma base, forcement sa efface le contenu de mon datagrid et sa affiche le nouveau resultat avec la nouvelle table.
Je voudrais afficher le resultat de ma requete a la suite dans mon datagrid, malgres les differentes tables.
Exemple :
- REQ1 = requete sur la base1.Table1
- REQ2 = requete sur la base2.Table1
- DataGrid = Affiche le resultat de la REQ1 et a la suite affiche le resultat de la REQ2
Note : les requetes ont les memes "SELECT", donc pas de probleme d'ajout de colonne ou autre...
Voila, comment je peut faire ? quelle est la meilleur methode ?
merci de votre aide.
cs_labout
Messages postés1356Date d'inscriptionsamedi 8 décembre 2001StatutMembreDernière intervention23 octobre 20068 13 déc. 2004 à 23:17
labout
Voici un exemple mais sans DataGridTableStyle
Dim dSet As DataSet
Dim strSql As String
dSet = New DataSet
Dim objImmoCM As CurrencyManager 'Gère une liste d'objets ici champs de la table Immo
Dim oConnect As OleDbConnection = New OleDbConnection
oConnect = New OleDbConnection
oConnect.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\vb.net\Immo\Immo\Database\immo.mdb"
' interception d'une éventuelle erreur
Try
With oConnect
.Open()
End With
Catch dbError As OleDbException
Stop
End Try
oConnect.Close()
' requete SQL sur la table Immo
strSql = "SELECT * from immo order by noinv"
' interception d'une éventuelle erreur
Try
' ajoute la requete à l'oleadapter
With New OleDbDataAdapter(selectCommand:=New OleDbCommand(cmdText:=strSql, _
Connection:=oConnect))
' remplit le dataset
.Fill(DataSet:=dSet, srcTable:="immo")
' libère OleAAdapter de la memoire
.Dispose()
End With
Catch dbError As OleDbException
Stop
End Try
' alimente objImmoCM avec le dataset cela n'est pas nécessaire si nous
' n'avions pas de GridTableStyle
With dSet.Tables
objImmoCM = CType(Me.BindingContext(.Item(Name:="immo")), CurrencyManager)
End With
@+
Vous n’avez pas trouvé la réponse que vous recherchez ?
voger
Messages postés47Date d'inscriptiondimanche 23 novembre 2003StatutMembreDernière intervention27 décembre 2004 14 déc. 2004 à 21:55
salut labout
j'ai regardé ce que tu as fait et également des infos sur msdn
j'ai une classe connexion où j'ai la fonction suivante qui alimente le dataset et le datatable
Shared Function remplidataset(ByVal nomdb As String, ByVal nomtable As String, ByVal strselect As String) As DataSet
Dim strconnection As String = "Provider=Microsoft.jet.oledb.4.0; Data Source=" & nomdb
cn = New OleDbConnection(strconnection)
cn.Open()
da = New OleDbDataAdapter(strselect, cn)
ds = New DataSet()
Dim autogen As New OleDbCommandBuilder(da)
da.Fill(ds, nomtable)
dt = ds.Tables(nomtable)
row = dt.NewRow()
cn.Close()
Return ds
End Function
ensuite dans une autre forme, je voudrai alimenter mon datagrid en fonvtion du numero client que je tape ds mon textbox1. cette recherche devrait se faire sur la colonne "numcli"
voici ce que j'ai fais
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
BindControl(dt)
End Sub
Private myCurrencyManager As CurrencyManager
Private Sub BindControl(ByVal myTable As DataTable)
TextBox1.DataBindings.Add("text", myTable, " numcli ")
myCurrencyManager = CType(Me.BindingContext(myTable), CurrencyManager)
myCurrencyManager.Position = 0
End Sub
j'ai créé les sub pour avancer de position
cependant, je pige pas un truc
comment faire pour afficher ds le datagrid les lignes du dataset qui corresponent à ce que je met ds le textbox1???
voger
Messages postés47Date d'inscriptiondimanche 23 novembre 2003StatutMembreDernière intervention27 décembre 2004 27 déc. 2004 à 11:50
j'ai donc affiché mes donnees ds un datagrid a l'aide du Defaultview.
a present j'ai relie un contextmenu au datagrid et je voudrais par exemple afficher sur une page les donnees d'une ligne(sur laquelle je clique) du datagrid.
j'ai vu sur msdn qu'il existe le selecteditem...mais j'ai pas saisi son fonctionnement.