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.
Version imprimable
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'aiderCode:
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:
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:
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:
1
2
3
4
5 public string ExtractDomain(string email) { Ici le code pour extraire la chaine }