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 に答える