0

複数のデータソースを単一のドロップダウンリストに設定するにはどうすればよいですか?

 DrpPosition.ClearSelection();
        DrpPosition.DataSource = AdvertizeManager.GetList("", "", "", "");
        DrpPosition.DataTextField = "PNAME";
        DrpPosition.DataValueField = "ADID";
        DrpPosition.DataBind();
        DrpPosition.DataSource = CategoryManager.GetList("", "", "", "");
        DrpPosition.DataTextField = "NAME";
        DrpPosition.DataValueField = "CATID";
        DrpPosition.DataBind();
4

2 に答える 2

1

LINQ を使用すると、これを簡単に解決できます。

        var advertizes = AdvertizeManager.GetList...
        var categories = CategoryManager.GetList....

        // create your annonymous type
        var customAdvertizes = from advertize in advertizes
                select new
                {
                    Value = advertize.ADID,
                    Text = advertize.PNAME
                };

        var finalQuery = customAdvertizes.Concat(
            from category in categories
            select new
            {
                Value = category.CATID,
                Text = category.NAME
            }
        );

そして、それをあなたのDropDownList

    DrpPosition.DataSource = finalQuery;
    DrpPosition.DataTextField = "Text";
    DrpPosition.DataValueField = "Value";
    DrpPosition.DataBind();
于 2012-08-01T08:40:46.033 に答える
0

不可能ですが、バインドする前にデータソースをマージできます。

または、使用できます

foreach(var item in yourDataSourceComplete)//yourDataSourceComplete = List1 + List2
{ 
  .....
  DrpPosition.Items.Add(Yourkey, YourValue);
}
于 2012-08-01T08:30:26.243 に答える