2009-10-26 3 views
0

J'ai une application Winforms qui a un DataGridView qui est databound à l'exécution. Une des colonnes contient principalement du texte mais certaines de ses cellules sont remplies d'URL que je voudrais rendre cliquables. Comment puis-je dire au DataGridView que si la valeur dans la cellule ressemble à une URL valide, c'est-à-dire. commence par "http" ou quelque chose de similaire en faire un lien cliquable?Comment définir les données DataGridViewColumn Tapez-vous à RunTime en fonction de la valeur de la cellule?

Répondre

1

Une solution qui a fait l'affaire était d'ajouter le code suivant à l'événement CellClick de DataGridView.

if (this.dataGridViewName[e.ColumnIndex, e.RowIndex].Value.ToString().StartsWith("http")) 
     { 
      Process p = new Process(); 
      p.StartInfo.FileName = Utilities.getDefaultBrowser(); 
      p.StartInfo.Arguments = this.dataGridViewName[e.ColumnIndex, e.RowIndex].Value.ToString(); 
      p.Start(); 
     } 

J'ai obtenu le code pour lancer le navigateur ainsi que le code getDefaultBrowser() d'un article très utile here

+0

Vous pouvez ignorer trouver manuellement le navigateur par défaut, et laisser les fenêtres utiliser automatiquement si juste de passage l'URL, comme ceci: System.Diagnostics.Process.Start (dataGridViewName [e.ColumnIndex, e.RowIndex] .Value.ToString()); – jdh

1

Put a user control il y a plusieurs contrôles enfants tels que link, textbox ou combobox mais ne font que rendre visible l'un d'entre eux à tout moment.

Questions connexes