我有一个列表框,我从SQL DB中的表中动态填充,我想动态地将列表框的行设置为表中的记录数量,因此不需要滚动。除了将表信息添加到本地数据表并计算其中的行之外,还有一种简单的方法吗?这是我对列表框的绑定的代码:
List<ParameterList> Parameters = new List<ParameterList>();
Parameters.Add(new ParameterList() { Name = "CategoryName", Value = CategoryName });
lbCategory.DataSource = SQLHelper.GetDataByQuery("SELECT SectionID, SectionTitle FROM dbo.vwNavigationMenuItems WHERE CategoryName = @CategoryName ORDER BY MenuPosition ASC", Parameters);
lbCategory.DataTextField = "SectionTitle";
lbCategory.DataValueField = "SectionID";
lbCategory.DataBind();
答案 0 :(得分:0)
试试这个
System.Data.DataTable dt = SQLHelper.GetDataByQuery("SELECT SectionID, SectionTitle FROM dbo.vwNavigationMenuItems WHERE CategoryName = @CategoryName ORDER BY MenuPosition ASC", Parameters);
lbCategory.DataSource = dt;
...
...
lbCategory.Rows = dt.Rows.Count;
或者在绑定数据后,您可以尝试
lbCategory.Rows = lbCategory.Items.Count;
我不知道任何其他更简单的方式