我在ASP.NET页面上有SqlDataSource并将其加载到Telerik的RadGrid控件中。
<asp:SqlDataSource
ID="DataSource"
runat="server"
ConnectionString="<%$ ConnectionStrings:ServerConnectionString %>"
SelectCommand="SELECT [Timestamp], [Label], [Project], [Product], [Value], [Reference] FROM [Operation]">
</asp:SqlDataSource
我的字段[Value]是表示枚举的字节值。当我将数据加载到网格中时,我想将这些字节值转换为它们的枚举等价物,换句话说,我想要明文形式。
我尝试在SqlDataSource组件的OnSelected和OnLoad()事件中做一些事情,但没有成功。有没有办法在呈现之前访问源自SqlDataSource的代码中的数据?
答案 0 :(得分:0)
您可以在 RadGrid
RowDataBound
事件类似的GridView
ItemDataBound
事件>。例如:
<telerik:RadGrid ID="RadGrid1" runat="server" DataSourceID="DataSource"
OnItemDataBound="RadGrid1_ItemDataBound" >
protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
{
if (e.Item is GridDataItem) // get the row collection of cells/items
{
GridDataItem dataItem = (GridDataItem)e.Item;
// here we are converting the TEXT value to INT of the "VALUE" column
if(int.Parse(dataItem["Value"].Text) == 1)
dataItem["Value"].Text = "A"; // here you can set cell value as you like
}
}