我有一个数据源#1绑定的数据网格,例如
public class Class
{
public string Val { get; set; }
public string Val2 { get; set; }
}
List<Class> classes = new List<Class>();
dgr.DataSource = classes;
在这个数据网格中,我得到了一个数据源#2绑定到的每一行的列表框:
<Columns>
<asp:TemplateColumn HeaderText="Spaltenname">
<ItemTemplate>
<asp:ListBox runat="server" DataTextField="Text" DataValueField="Value" DataSource="<%#oParentTablesHandler.DataTableXYZ%>" />
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
这样可行,但我在设置SelectedValue时遇到了问题。
SelectedValue="<%# "" %>
可以工作,但我需要根据数据源#1中的Val进行选择。我怎样才能做到这一点?我需要使用Eval,但是
SelectedValue="<%# Eval("Val") %> did not work...
编辑:我发现我想按文字而不是按价值选择项目,argh。有没有办法做到这一点?
答案 0 :(得分:0)
试试这样..
<%# ((Class)Container.DataItem).Val %>
更新:
在'数据源#2的相应列中可能不存在的'Val'属性中可能存在一些值...
因此,为了测试目的,请尝试以下...
<asp:ListBox .. AppendDataBoundItems="true">
<Items>
<asp:ListItem Text="NA" Value="" />
</Items>
</asp:ListBox >