0

我有一个数据网格,其中数据源 #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...

编辑:我发现我想按文本而不是按值选择一个项目,啊。有没有办法做到这一点?

4

1 回答 1

0

试试这样。。

<%# ((Class)Container.DataItem).Val %>

更新:

好吧。“Val”属性中可能有一些值可能不存在于您的 Datasource#2 的相应列中...

因此,出于测试目的,请尝试以下..

<asp:ListBox .. AppendDataBoundItems="true"> 
   <Items>       
 <asp:ListItem Text="NA" Value="" />   
 </Items>
 </asp:ListBox > 
于 2012-09-13T16:16:16.790 回答