访问RadGrid DataItem的实际值而不是其文本

时间:2015-08-19 17:22:00

标签: c# asp.net telerik telerik-grid radgrid

我的RadGrid AutoGenerate列设置为true

我的数据源如下所示:

DataTable dt = new DataTable();
dt.Columns.Add("Column1", typeof (double));
dt.Columns.Add("Column2", typeof (double));
dt.Columns.Add("Column3", typeof (double));

dt.Rows.Add(0.05547, 0.03432, 0.03444);
dt.Rows.Add(0.54612, 0.77764, 0.86763);
dt.Rows.Add(0.65711, 0.88735, 0.67864);

在网格ItemDataBound事件中,我将值格式化为这样的百分比:

double number;
if (double.TryParse(item[col.UniqueName].Text, out number))
{
     item[col.UniqueName].Text = string.Format("{0:P2}", number);                            
}

现在假设我想在代码中的其他位置遍历网格DataItems并获取原始值,而不是格式化的百分比值。这样做的最佳方式是什么?

foreach (GridDataItem item in RadGrid1.Items) 
{
     // This is returning a value like 5 %, I need 0.05547
     item["Column1"].Text;
}

1 个答案:

答案 0 :(得分:0)

由于您要格式化ItemDataBound中的文本,因此无法在代码中的其他位置获取原始值。 ItemDataBound是一种行为,因此每次执行回发ItemDatabound都会被执行,(即使更改了radgrid中的页面大小)。

但您可以通过创建新的datatable并在ItemDataBound中平行填写这些详细信息来实现。因此,您可以在整个代码中从该数据表中获取数据。