1

我有一个下拉列表,我试图从 DataTable 中填充。每行包含短日期,第二列包含月份名称和年份。

像这样的东西:

6/11/2011      June 2011
7/11/2011      July 2011

我正在尝试将第二列放入下拉列表中。

dateListDropDown.DataSource = DateList.Rows.Select(x=> x[1].ToString());
dateListDropDown.DataBind();

但我认为我的 Linq 不正确。

谁能看到我在这里做错了什么?

4

2 回答 2

0

尝试以下(假设数据不为空)

 var list = new List<string>();

 foreach(var row in DateList.Rows)
   list.Add(row[1] as string);

 dateListDropDown.DataSource = list;

正如您在评论中提到的,错误是因为 DataRowCollection 没有实现 IEnumerable。

于 2012-11-26T06:48:31.780 回答
0

试试这个:

dateListDropDown.DataSource = DateList.AsEnumerable().Select(x => x[1].ToString());
dateListDropDown.DataBind();

或者

dateListDropDown.DataSource = (from a in DateList.AsEnumerable()
                                         select a).ToList();
dateListDropDown.DataTextField = "YourSecondColumnName";
dateListDropDown.DataBind();
于 2012-11-26T07:05:08.007 回答