Bonjour,
j'ai un gridview et j'affiche des mail sur la colonne5 par exemple.
Comment je peux lui dire d'afficher que le texte à droite de @ des lignes de toute la colonne?
Merci d'avance.
Bonjour,
j'ai un gridview et j'affiche des mail sur la colonne5 par exemple.
Comment je peux lui dire d'afficher que le texte à droite de @ des lignes de toute la colonne?
Merci d'avance.
Au fait j'ai fait un truc du style:
Mais ça ne change rien, si vous pouvez m'aider
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 if (e.Row.RowType == DataControlRowType.DataRow) { e.Row.Cells[5].Text = e.Row.Cells[5].Text.Substring(e.Row.Cells[5].Text.IndexOf("@") + 1); }
Intercepte l'événement DataGridView.CellFormatting pour personnaliser le format du contenu des cellules, exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) { if (e.ColumnIndex == indice_colonne_a_formatter) { if (e.Value != null) { string s = e.Value.ToString(); int i = s.IndexOf('@') + 1; e.Value = s.Substring(i, s.Length - i); } } }
Salut,
Ta GridView est générée automatiquement ou tu déclares manuellement les colonnes?
Si tu passe par la déclaration manuelle, tu peux aussi définir un template field et utiliser du code inline pour faire le formatage:
ou Email est le nom de ta colonne pour le binding.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <Columns> <asp:BoundFieldDataField="FirstName"HeaderText="First Name"/> <asp:BoundFieldDataField="LastName"HeaderText="Last Name"/> <ItemTemplate> <asp:LabelID="BirthDateLabel"Runat="Server" Text='<%# ExtractDomain(Eval("Email")) %>'/> </ItemTemplate> </asp:TemplateField> </Columns>
Puis tu défini ta methode publique ExtractDomain dans le code behind de ta page
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 public string ExtractDomain(string email) { Ici le code pour extraire la chaine }
Partager