Bonsoir, je m'explique:
comment faire pour gérer facilement dans un datagrid la longueur d'un
champ ?
j'aimerais n'afficher que 30 caractères sur 100 pour finir avec "..."
par exemple....
ou n'afficher (temporairement) que des étoiles dans le champ...
si quelqu'un a une idée....
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Norm
coté aspx utilises des <asp:TemplateColums> pour ton datagrid dans le Itemtemplate tu places un label ex: lbltest
code behind dans l'évenement item_databound du datagrid tu affectes le label If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType ListItemType.AlternatingItem Then
"[- bernard - ]" <@> a écrit dans le message de news:
Bonsoir, je m'explique: comment faire pour gérer facilement dans un datagrid la longueur d'un champ ? j'aimerais n'afficher que 30 caractères sur 100 pour finir avec "..." par exemple.... ou n'afficher (temporairement) que des étoiles dans le champ... si quelqu'un a une idée....
merci a tous !
-- [ - Bernard - ] Carpe Diem
coté aspx
utilises des <asp:TemplateColums> pour ton datagrid
dans le Itemtemplate tu places un label ex: lbltest
code behind
dans l'évenement item_databound du datagrid
tu affectes le label
If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType ListItemType.AlternatingItem Then
"[- bernard - ]" <@> a écrit dans le message de
news:mn.6cff7d4a41d4d2e5.18441@mesnews.fr...
Bonsoir, je m'explique:
comment faire pour gérer facilement dans un datagrid la longueur d'un
champ ?
j'aimerais n'afficher que 30 caractères sur 100 pour finir avec "..."
par exemple....
ou n'afficher (temporairement) que des étoiles dans le champ...
si quelqu'un a une idée....
coté aspx utilises des <asp:TemplateColums> pour ton datagrid dans le Itemtemplate tu places un label ex: lbltest
code behind dans l'évenement item_databound du datagrid tu affectes le label If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType ListItemType.AlternatingItem Then
"[- bernard - ]" <@> a écrit dans le message de news:
Bonsoir, je m'explique: comment faire pour gérer facilement dans un datagrid la longueur d'un champ ? j'aimerais n'afficher que 30 caractères sur 100 pour finir avec "..." par exemple.... ou n'afficher (temporairement) que des étoiles dans le champ... si quelqu'un a une idée....
merci a tous !
-- [ - Bernard - ] Carpe Diem
Eric COUTIER
[- bernard - ] a écrit :
Bonsoir, je m'explique: comment faire pour gérer facilement dans un datagrid la longueur d'un champ ? j'aimerais n'afficher que 30 caractères sur 100 pour finir avec "..." par exemple.... ou n'afficher (temporairement) que des étoiles dans le champ... si quelqu'un a une idée....
merci a tous !
J'ai déjà fait cà. Demain, j'essaierai de penser à publier le code source sur le forum. En bref, je crois qu'il faut jouer avec un ITemplate.
Salutations.
[- bernard - ] a écrit :
Bonsoir, je m'explique:
comment faire pour gérer facilement dans un datagrid la longueur d'un
champ ?
j'aimerais n'afficher que 30 caractères sur 100 pour finir avec "..."
par exemple....
ou n'afficher (temporairement) que des étoiles dans le champ...
si quelqu'un a une idée....
merci a tous !
J'ai déjà fait cà. Demain, j'essaierai de penser à publier le code
source sur le forum. En bref, je crois qu'il faut jouer avec un ITemplate.
Bonsoir, je m'explique: comment faire pour gérer facilement dans un datagrid la longueur d'un champ ? j'aimerais n'afficher que 30 caractères sur 100 pour finir avec "..." par exemple.... ou n'afficher (temporairement) que des étoiles dans le champ... si quelqu'un a une idée....
merci a tous !
J'ai déjà fait cà. Demain, j'essaierai de penser à publier le code source sur le forum. En bref, je crois qu'il faut jouer avec un ITemplate.
Salutations.
[- bernard - ]
[- bernard - ] a formulé la demande :
Bonsoir, je m'explique: comment faire pour gérer facilement dans un datagrid la longueur d'un champ ? j'aimerais n'afficher que 30 caractères sur 100 pour finir avec "..." par exemple.... ou n'afficher (temporairement) que des étoiles dans le champ... si quelqu'un a une idée....
merci a tous !
merci pour vos réponses.....
bon dev ...
-- [ - Bernard - ] Carpe Diem
[- bernard - ] a formulé la demande :
Bonsoir, je m'explique:
comment faire pour gérer facilement dans un datagrid la longueur d'un champ ?
j'aimerais n'afficher que 30 caractères sur 100 pour finir avec "..." par
exemple....
ou n'afficher (temporairement) que des étoiles dans le champ...
si quelqu'un a une idée....
Bonsoir, je m'explique: comment faire pour gérer facilement dans un datagrid la longueur d'un champ ? j'aimerais n'afficher que 30 caractères sur 100 pour finir avec "..." par exemple.... ou n'afficher (temporairement) que des étoiles dans le champ... si quelqu'un a une idée....
merci a tous !
merci pour vos réponses.....
bon dev ...
-- [ - Bernard - ] Carpe Diem
reituoccire
> J'ai déjà fait cà. Demain, j'essaierai de penser à publier le code source sur le forum. En bref, je crois qu'il faut jouer avec un ITemplate.
Deux classes: -ShortedLabel, qui permet en plus de générer un alt text au survol de la souris -ShortedItemTemplate
Le problème c'est que je constitue mon DataGrid au sein du code également(et pas depuis WebMatrix).
Exemple: TemplateColumn tc = new TemplateColumn(); tc.ItemTemplate = new ShortedItemTemplate("CustomerName", Page); tc.HeaderText = "Nom du client"; monDataGrid.Columns.Add(tc); ---------------------------------------------------------------------- public class ShortedLabel : Label { protected int troncateAt; protected static int DEFAULT_TRONCATE = 40; public ShortedLabel() : base() { troncateAt = DEFAULT_TRONCATE; } protected override void Render (HtmlTextWriter output) { String altText; String textToOutput; if (Text.Length > troncateAt) { altText = " title="" + Text + """; textToOutput = Text.Remove(troncateAt, Text.Length -troncateAt) + "..."; } else { altText = ""; textToOutput = Text; } output.WriteLine("<span" + altText + ">" + textToOutput + "</span>"); } }//ShortedLabel
public class ShortedItemTemplate : ITemplate { private String columnName; private Page page; public ShortedItemTemplate (string columnName, Page page) { this.columnName = columnName; this.page = page; }
public void InstantiateIn(Control container) { ShortedLabel label; label = new ShortedLabel(); label.DataBinding += new EventHandler(bind); container.Controls.Add(label); } public void bind(object sender, EventArgs e) { ShortedLabel label = (ShortedLabel)sender; DataGridItem container = (DataGridItem)(label.NamingContainer); label.Text = ((DbDataRecord)container.DataItem)[columnName] ""; } }//ShortedItemTemplate
> J'ai déjà fait cà. Demain, j'essaierai de penser à publier le code
source sur le forum. En bref, je crois qu'il faut jouer avec un ITemplate.
Deux classes:
-ShortedLabel, qui permet en plus de générer un alt text au survol de
la souris
-ShortedItemTemplate
Le problème c'est que je constitue mon DataGrid au sein du code
également(et pas depuis WebMatrix).
Exemple:
TemplateColumn tc = new TemplateColumn();
tc.ItemTemplate = new ShortedItemTemplate("CustomerName", Page);
tc.HeaderText = "Nom du client";
monDataGrid.Columns.Add(tc);
----------------------------------------------------------------------
public class ShortedLabel : Label {
protected int troncateAt;
protected static int DEFAULT_TRONCATE = 40;
public ShortedLabel() : base() {
troncateAt = DEFAULT_TRONCATE;
}
protected override void Render (HtmlTextWriter output) {
String altText;
String textToOutput;
if (Text.Length > troncateAt) {
altText = " title="" + Text + """;
textToOutput = Text.Remove(troncateAt, Text.Length -troncateAt) +
"...";
}
else {
altText = "";
textToOutput = Text;
}
output.WriteLine("<span" + altText + ">" + textToOutput +
"</span>");
}
}//ShortedLabel
public class ShortedItemTemplate : ITemplate {
private String columnName;
private Page page;
public ShortedItemTemplate (string columnName, Page page) {
this.columnName = columnName;
this.page = page;
}
public void InstantiateIn(Control container) {
ShortedLabel label;
label = new ShortedLabel();
label.DataBinding += new EventHandler(bind);
container.Controls.Add(label);
}
public void bind(object sender, EventArgs e) {
ShortedLabel label = (ShortedLabel)sender;
DataGridItem container = (DataGridItem)(label.NamingContainer);
label.Text = ((DbDataRecord)container.DataItem)[columnName] "";
}
}//ShortedItemTemplate