Accueil > Forum > > > > datagrid, questions en vrac
datagrid, questions en vrac
mardi 22 juillet 2008 à 16:18:51 |
datagrid, questions en vrac

Billybobbonnet
|
Bonjour à tous  , J'ai fait une application qui écrit dans une base de données mysql des messages qu'elle reçoit régulièrement. Une autre partie de cette application lit la table remplie et la charge dans un datagrid (au passage, merci à sLaYeR31 pour son excellente source). Vu que je découvre ce composant, et le .net par la même occasion, il y a encore pas mal de problèmes que je n'ai pas encore résolu. Les voici: 1.Comment mettre à jour ma datagrid à chaque insert dans ma base mySQL? J'ai une fonction de ma classe mySQL, pour les inserts, à la fin de laquelle j'ai rajouté: principale est le nom de ma form principale, dts est mon dataset, et datagrid1.......je vous laisse deviner. principale.DataGrid1.ResetText() principale.DataGrid1.DataSource = dts.Tables("xapraw")
Ca marche pas! 
Ajoutons à ça que par économie, et histoire de pas vider et recharger complètement la datagrid devant l'utilisateur toutes les 2 secondes, je voudrais ajouter uniquement les nouvelles lignes. (datagrid1.update ou datagrid1.refresh?)
2. (un peu hors sujet) Quelle requête mysql pour afficher les x dernières entrées dans ma table? Pour le moment, je fais SELECT * FROM xapraw ORDER BY ID DESC LIMIT 50 Ce qui me donne les 50 dernières entrées, mais dans le mauvais ordre! 3. Comment garder le focus sur le bas de la datagrid? J'ai pas mal de lignes et au lancement, je suis en haut de ma datagrid, mais ce sont les derniers messages qui m'intéressent. Comment donc mettre automatiquement le focus en bas? 4. Comment augmenter la taille (en nombre de caractères) de mes cellules? J'ai dans ma BDD des champs de type longtext, qui sont presque des petits paragraphes, et il n'y a que la première dizaine de caractères qui s'affiche... 5 Question subsidiaire: Comment intégrer une image dans les cellules de la datagrid? Merci!
|
|
mercredi 23 juillet 2008 à 08:25:08 |
Re : datagrid, questions en vrac

oo7jb5
|
Salut,
Pour vider une datagrid, tu peux faire comme cela madatagrid.datasource = Nothing puis ensuite tu recharges ton data set dedans comme tu le fais déjà.
Pour ta deuxième question, je ne sais pas trop.
Pour garder le focus sur une cellule en bas d'une datagrid, tu peux essayer de sélectionner la dernière ligne du datagrid en faisant par exemple : maDataGrid.SelectedRows(maDatagrid.Rowcount -1) (je suis pas sûr pour le - 1) Comme cela tu auras tout le temps ta dernière ligne de sélectionnée. Ou alors tu peux essayer d'afficher les messages dans l'ordre inverse dans ta datagrid !
Pour augmenter la taille en nombre de caractère de ta cellule de ta datagrid, tu peux mettre dans les propriétés de ta datagrid en mode design, les propriétés autoSizeColumnsMode et autoSizeRowMode à AllCells comme cela toutes tes colonnes seront redimensionnées suivant leur contenu !
Voila j'espère avoir pu t'aider. Bon courage pour ton application.
|
|
mercredi 23 juillet 2008 à 11:42:14 |
Re : datagrid, questions en vrac

Billybobbonnet
|
Merci pour ces réponses, oo7jb5
pour vider la datagrid, ta solution fonctionne mais j'aimerai bien trouver quand même comment incrémenter les modifications sans tout recharger. Pour le focus, pour le moment, les résultats sont arrivent par le haut, donc pas de problème. Lorsque j'aurai la bonne requete mySLQ, j'esserai ton astuce. Par contre, pour le nombre de caractères par cellule, les propriétés que tu cites n'apparaissent pas actuellement. Il y a une référence à ajouter?
|
|
mercredi 23 juillet 2008 à 11:43:54 |
Re : datagrid, questions en vrac

Billybobbonnet
|
Et comment éditer mon post pour corriger mes fautes d'orthographe? 
|
|
mercredi 23 juillet 2008 à 11:58:29 |
Re : datagrid, questions en vrac

oo7jb5
|
Salut,
Pour le fait d'éditer ton post pour corriger tes fautes, je crois qu'il faudra qu tu fasses avec, je ne suis pas sûr que l'on puisse les modifier.
Alors pour le nombre de caractère par cellule, moi en fait je te donnais une astuce qui consistait à augmenter la taille des cellules par rapport à son contenu, c'est bizarre que tu ne trouves pas les contrôles que je t'ai mis, chez moi ils apparaissent clairement. Est ce que cela viendrait du fait que je travail sous Visual Basic 2008 et toi non ? Je penses pas.
Donc tu n'as pas ces deux lignes dans les Properties de ta datagridview en mode design ? Moi je cliques juste sur la datagridview puis je regardes les propriétés et c'est au début dans les 10 premières lignes..
|
|
mercredi 23 juillet 2008 à 12:14:03 |
Re : datagrid, questions en vrac

Billybobbonnet
|
Je bosse aussi avec vb 2008, donc ça ne doit pas être ça.
Sinon, ma datagrid est construite dynamiquement (pas de définition des colonnes, elle affiche les colonnes transmises par la requête) et c'est peut-être pour ça.
Au passage, si tu utilises des datagrid, j'ai trouvé une excellente fonction pour dimensionner idéalement la largeur (graphique) des colonnes, et je ne pense pas que ça justifie une source (d'autant qu'elle n'est pas de moi). Cela dit, la voici:
Public Sub columns_autoresize(ByRef sqlGrid As DataGrid)
Try Dim t As Type = sqlGrid.GetType Dim m As Reflection.MethodInfo = t.GetMethod("ColAutoResize", Reflection.BindingFlags.NonPublic Or Reflection.BindingFlags.Instance)
Dim i As Integer = sqlGrid.FirstVisibleColumn Dim j As Integer = sqlGrid.VisibleColumnCount Do While i < j m.Invoke(sqlGrid, New Object() {i}) i = i + 1 Loop Catch ex As Exception Trace.Write("Failed to resize column: " + ex.ToString + vbCrLf) End Try End Sub
|
|
mercredi 23 juillet 2008 à 13:06:17 |
Re : datagrid, questions en vrac

oo7jb5
|
Cela explique pourquoi tu n'as pas accès au designer ! Autant pour moi. Cependant tu peux toujours utiliser les fonctions autoresizeRow et autoresizecolumn. Est-ce-que ton problème a été résolu avec la fonction que tu as donné dans le post précédent ?
|
|
mercredi 23 juillet 2008 à 14:38:53 |
Re : datagrid, questions en vrac

Billybobbonnet
|
Non, la fonction que j'ai donné permet de dimensionner la largeur des cellules en affichage, pas le nombre de caractères qu'elles contiennent. lorsque j'essaie d'appeler la propriété autoresizeRow, visual studio 2008 me renvoie " la propriété autoresizeRow n'est pas un membre de 'system.windows.forms.datagrid'", mais après une petite recherche google, je me suis rendu compte que ces propriétés sont à mettre après datagridview. Je ne suis plus très sûr que ça vienne de là, le problème de nombre de caractères par cellule ne variant pas avec la largeur de celle ci. Ca vient peut-être du dataset. En attendant, je persévère 
|
|
mercredi 23 juillet 2008 à 14:55:22 |
Re : datagrid, questions en vrac

oo7jb5
|
Oui, cela peut en effet venir de ton dataset, si ce dernier n'accepte pas autant de caractère que tu rentres mais vu que dans ton cas les données sont déjà dans ta table, cela ne vient pas du dataset mais plutôt de ton affichage apparemment. En relisant de plus près ta fonction, il faut que tu remplaces le datagrid par un datagridview (le datagrid étant, il me semble l'ancêtre du datagridview).
Est ce que ton texte est vraiment coupé où il ne s'affiche pas tout à l'écran ?
|
|
mercredi 23 juillet 2008 à 16:06:48 |
Re : datagrid, questions en vrac

Billybobbonnet
|
le texte est vraiment coupé dans la cellule, à partir du 45ème caractère, alors que dans la table mySQL, cette même cellule en fait 60. Pour ce qui est de remplacer par un datagridview, je pense que ce sera un dernier recours car j'ai eu du mal à obtenir un résultat avec le datagrid. L'idée, si c'est le dataset, serait que chaque item de ma collection de données est limité à 45 caractères. Et si c'est le cas, comment change t on cette valeur?
|
|
Cette discussion est classée dans : mysql, datagrid, questions, principale, datagrid1
Répondre à ce message
Sujets en rapport avec ce message
datagrid, insertion [ par vish ]
salut, j'essaye depuis des jours d'afficher le resultat de ma requete dans mon datagrid voici mon code:rivate Sub Form_Load()Dim SQL As StringDim rs A
Questions Datagrid .NET [ par plca ]
BonjourJ'ai plusieurs pb que je n'arrivent pas à resoudre. Si je pouvais avoir une reponse de l'un de vous ça serait génial.Ca concerne un datagrid .N
Changer la Couleur d'une ligne dans DataGrid [ par NWolfer ]
Je cherche de l'aide pour change la couleur d'une ligne dans une DataGridLes datas sont enregistrées dans une DataTable, qui est la source d'une DataG
Datagrid sous VB NET [ par Mondou ]
J'essaie de valider la saisie de texte dans un datagrid, mais je ne trouve pas, y-a-til quelqu'un qui pourrait m'envoyer une exemple SVP (très différe
controle ado et requete vers mysql [ par corinne24 ]
bonjour à tous,Je débute en programmation avec une base de données mysql et j'ai un problème que je ne parviens pas à resoudre :Dans un formulaire, j'
Somme du contenu d'un champ de données (Datagrid) [ par chgag200 ]
Bonjour, J'ai affecté un Adodc à un controle DataGrid. Quand l'utilisateur obtient le DataGrid à l'écran, il peut en appuyant sur un bouton faire la s
VB.NET :pb datagrid [ par kalimeroo13 ]
Bonjour, voila mon probleme :je déclare un tableau unidimensionnel de string que j'associe à un datagrid : DataGrid1.SetDataBinding(XITM3_tab, "")ou b
DATAGRID & DATACOMBO [ par Heny ]
Salut a tousMon problème est le suivant Dans mon application il y a un BOUTON,un TEXTBOX un DATAGRID1 avec deux colonnes la première « PRODUIT » la
mise en forme largeur de colonne datagrid automatique [ par yeyedeb ]
Bonjour,je cherche, en vain, à mettre en forme automatiquement la largeur des colonnes d'un datagrid.J'ai écrit la petite procédure qui suit, elle a p
datagrid [ par LILAS_82 ]
bonjour,j'ai une datagrid dont pour laquelle je souhaiterais que les donnees ne soient pas modifiables par l'utilisateur. cependant, je refuse le 'dat
Livres en rapport
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
FAIRE UN EXECUTABLEFAIRE UN EXECUTABLE par ossama261988
Cliquez pour lire la suite par ossama261988
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|