DropDownCheckBoxes不与DataSet值绑定

时间:2014-01-17 12:40:17

标签: c# asp.net html-select

我使用DropDownCheckBoxes CodePlex控件。这适用于下面的代码

var t = new string[20];
var currentYear = DateTime.Now.Year;
for (int i = 0; i < t.Length; i++)
t[i] = "Test   " + i.ToString();

DropDownCheckBoxes1.DataSource = t;
DropDownCheckBoxes1.DataBind();

但是当我使用相同的逻辑并从DataSet获取值时,它不起作用。 DropDownCheckBoxes1未加载任何值。请告诉我这里有什么问题。我知道我们可以在这里减少代码并直接分配DropDownCheckBoxes1.DataSource = q.Distinct(),但没有什么对我有用

DataSet ds = GetTheData("Jan 2014");
DataTable dt = ds.Tables[0];

var q = from a in dt.AsEnumerable()
        where a.Field<string>("SomeColumn1") == "Jan 2014"
        select a.Field<string>("SomeColumn2");

var s = q.Distinct().ToList();
var years = new string[s.Count];
for (int i = 0; i < s.Count; i++)
    years[i] = s[i];

DropDownCheckBoxes1.DataSource = years;
DropDownCheckBoxes1.DataBind();

1 个答案:

答案 0 :(得分:0)

试试这个:

DataSet ds = GetTheData("Jan 2014");
DataTable dt = ds.Tables[0];

var q = dt.AsEnumerable().Where(a => a.Field<String>("SomeColumn1") == "Jan 2014")
                         .Select(a => a.Field<String>("SomeColumn2"));

DropDownCheckBoxes1.DataSource = q;
DropDownCheckBoxes1.DataBind();