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
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
VB.NET ET COMBOBOXVB.NET ET COMBOBOX par minouthebreaker
Cliquez pour lire la suite par minouthebreaker
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|