我使用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();
答案 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();