I have a grid bound to a datasource.
However, I have a settings page where the user can specify the number of characters to be displayed for any field in the grid.
I want to trim the column value based on that setting before the grid is displayed.
I was trying to do that in the ItemDataBound event.
Any suggestions how I can do that.
However, I have a settings page where the user can specify the number of characters to be displayed for any field in the grid.
I want to trim the column value based on that setting before the grid is displayed.
I was trying to do that in the ItemDataBound event.
Any suggestions how I can do that.
5 Answers, 1 is accepted
0
Princy
Top achievements
Rank 2
answered on 09 Jul 2010, 07:39 AM
Hello,
One approach is by using Substring() method , you can display a specified number of characters in a cell value.
C#:
Thanks,
Princy.
One approach is by using Substring() method , you can display a specified number of characters in a cell value.
C#:
protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e) { int count=3; //count is the no of characters that should be displayed if (e.Item is GridDataItem) { GridDataItem item = (GridDataItem)e.Item; string CategoryName = item["ColumnUniqueName"].Text; item["ColumnUniqueName"].Text = CategoryName.Substring(0, count); } }Thanks,
Princy.
0
newbie
Top achievements
Rank 1
answered on 09 Jul 2010, 06:02 PM
Hi Princy.
The issue i am having here is in my ItemDataBound event item[
But I know there is a value because when I do the below I can see the values.
I am using a template column as below. Is that the reason why item["ColumnUniqueName"] is returned blank?
The issue i am having here is in my ItemDataBound event item[
"ColumnUniqueName"].Text returns empty string.But I know there is a value because when I do the below I can see the values.
DataRowView groupDataRow = (DataRowView)e.Item.DataItem; string text = groupDataRow.Row.ItemArray[i].ToString(); I am using a template column as below. Is that the reason why item["ColumnUniqueName"] is returned blank?
<telerik:GridTemplateColumn UniqueName="Status" HeaderText="Status" Visible="false" DataField="Status" AllowFiltering="true"> <ItemStyle BorderStyle="None"></ItemStyle> <HeaderStyle HorizontalAlign="Center" /> <ItemTemplate> <div> <%# Eval("Status")%> </div> </ItemTemplate> </telerik:GridTemplateColumn>0
Princy
Top achievements
Rank 2
answered on 12 Jul 2010, 08:00 AM
Hello,
Since the TemplateColumn is rendered after ItemDataBound event, you can access its value by using DataRowView object. Then after executing your code to customize the value, assign new value to TemplateColumn's TableCell by using its 'UniqueName'.
C#:
Thanks,
Princy.
Since the TemplateColumn is rendered after ItemDataBound event, you can access its value by using DataRowView object. Then after executing your code to customize the value, assign new value to TemplateColumn's TableCell by using its 'UniqueName'.
C#:
protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e) { int count = 3; if (e.Item is GridDataItem) { GridDataItem item = (GridDataItem)e.Item; DataRowView groupDataRow = (DataRowView)e.Item.DataItem; string text = groupDataRow["Status"].ToString(); item["Status"].Text = text.Substring(0, count); } }Thanks,
Princy.
0
ShaneUlker
Top achievements
Rank 1
answered on 22 Oct 2013, 03:45 PM
I want to truncate the text which is in html format. Do you have suggestion for that. Using the below method all html gets messed up inside RadGrid.
0
Princy
Top achievements
Rank 2
answered on 23 Oct 2013, 06:42 AM
Hi ShaneUlker,
Please take a look into the following code snippet i tried to show only the text inside an html tag.
C#:
Let me know if you have any concern.
Thanks,
Princy.
Please take a look into the following code snippet i tried to show only the text inside an html tag.
C#:
protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e){ if (e.Item is GridDataItem) { GridDataItem item = (GridDataItem)e.Item; DataRowView groupDataRow = (DataRowView)e.Item.DataItem; string text = groupDataRow["UniqueName"].ToString(); text=Regex.Replace(text, "<.*?>", string.Empty); item["UniqueName"].Text = text; }}Let me know if you have any concern.
Thanks,
Princy.