Truncate text in RadGrid column
mithilfe von Telerik RadGrid* in einer LINQ-Kontext, mit ASP.NET/C#, wie abschneiden von text an eine maximale Länge, wenn die Anzeige in den Spalten? Durch die maximale, wenn ich meine ursprüngliche string die Länge ist kürzer als die angegebene maximale Länge, keine Fehler zu erhöhen.
Ich habe gesehen, viele Beispiele auf dem Netz, aber es scheint, dass die Container.DataItem
verwendet, um zu erreichen, das ist anders, wenn die Verwendung von LINQ. Manchmal sehen wir DataItem
als eine Methode, manchmal nicht. Beispiele sind in der Regel mit einem DataSet
.
Hier ein Beispiel gefunden (Quelle) :
<asp:TemplateField HeaderText="Description">
<ItemTemplate>
<%# ValidateString(Container.DataItem("Description")) %>
</ItemTemplate>
</asp:TemplateField>
Und codebehind:
protected string ValidateString(object String)
{
if ((String.ToString().Length > 50))
{
return String.ToString().Substring(0, 50) + "...";
}
else
{
return String.ToString();
}
}
Danke für die Hilfe.
(*) Oder ein normales GridView, sollen kompatibel sein.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich würde Haken in das Ereignis OnItemDataBound und führen Sie diese in Ihrem code. Wandeln Sie die Daten Artikel als benutzerdefiniertes Objekt und der Eigenschaft Abfragen, so etwas wie die folgenden (mit einigen aus dem Gedächtnis):
Alternativ, wenn Sie wollen stick mit der Methode, die Sie verwenden, versuchen Sie folgenden, die in Ihrer aspx -
Die Idee rrrr mit
ItemDataBound
Veranstaltung war ein guter Anlass. Aber, durch die Verwendung einer benutzerdefinierten Abfrage mit inneren joins für das Auffüllen mein raster, ich kann nicht mit derCustomObject
Eigenschaft. Ich habe diedataBoundItem["ColumnName"]
durch ändern direkt Ihren text. In der Tat, die Lösung war einfach!Hier ein Beispiel :
Dank rrrr übrigens!
Mit einem Konverter funktioniert auch für diese.
Den Konverter substring Klasse:
Ihre codes in Ordnung sind. Ändern Sie einfach " - Container.DataItem" zu "Eval". Und halten Sie alles so wie es ist. Dann versuchen Sie es. Ich hoffe, es wird funktionieren...
Alle die Wette
Bestehenden:
<%# ValidateString(Container.DataItem("Beschreibung")) %>
Änderungen:
<%# ValidateString(Eval("Beschreibung")) %>