如何将ItemTemplate文本值设置为组合框DataTextField而不是DataValueField

时间:2013-03-13 20:18:39

标签: asp.net c#-4.0 gridview telerik telerik-grid

我有一个带有GridTemplateColumn的telerik radgrid,如下面C#ASP.NET 4.0 webform中所示。

正如您所看到的,在EditItemTemplate中,我使用的是一个RadComboBox,其中包含DataValueField的id号和DataTextField的可读文本。

我的问题是,如何更改ItemTemplate中的Text以显示人类可读的值而不是Id?值Alias1来自网格数据源,它是Id。

感谢您提供任何帮助!

    <telerik:GridTemplateColumn UniqueName="Alias1" Display="true" DataField="Alias1" HeaderText="Alias1" SortExpression="Alias1">
        <ItemTemplate>

            <asp:Label ID="lblField30" CssClass="text" runat="server" Text='<%# Bind("Alias1") %>'></asp:Label>

        </ItemTemplate>

        <EditItemTemplate> 

            <telerik:RadComboBox ID="RadComboBox16" runat="server" Skin="Outlook" Height="150" DataSourceID="SqlDataSourceAliasOptions" DataTextField="aliasText" DataValueField="aliasid"  SelectedValue='<%#Bind("Alias1") %>'>
            </telerik:RadComboBox>

        </EditItemTemplate>

    </telerik:GridTemplateColumn>

1 个答案:

答案 0 :(得分:2)

您需要像这样更改ItemTemplate绑定:

    <ItemTemplate>

        <asp:Label ID="lblField30" CssClass="text" runat="server" Text='<%# Eval("aliasText") %>'></asp:Label>

    </ItemTemplate>

当然,您的绑定实体必须具有“aliasText”属性。如果你绑定像DataTable这样的东西,请确保包含“aliasText”列。