datatable怎样作为数据源绑定到下拉列表框

qq_36461620 2016-10-22 01:52:30
dt中的数据只有1列 select [某列] from [某表]

dropdownlist1.DataSource = dt;
dropdownlist1.DataBind();

为什么每次都出错呢,
...全文
547 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
abz7676 2016-10-24
  • 打赏
  • 举报
回复
也可以这样:


           string sql = "select [某列] from  [某表]";
            DataTable dt = rdtable(sql);
            for (int i = 0; i < dt.Rows.Count; i++)
            {
               dropdownlist1.Items.Add(new ListItem(dt.Rows[i]["Name"].ToString(), dt.Rows[i]["Id"].ToString()));
            }



public static DataTable rdtable(string sql, string strConnection)
        {
            SqlConnection objConnection = new SqlConnection(strConnection);
            SqlDataAdapter objAdapter = new SqlDataAdapter(sql, objConnection);
            DataTable objDataTable = new DataTable();
            objAdapter.Fill(objDataTable);
            objConnection.Close();
            return objDataTable;
        }

隔壁黎叔叔 2016-10-24
  • 打赏
  • 举报
回复
http://blog.sina.com.cn/s/blog_5e76d0180101fucr.html 这个应该可以详细解释一下为什么你没有选择到想要的默认值。
隔壁黎叔叔 2016-10-24
  • 打赏
  • 举报
回复
抱歉最近都没上CSDN,现在你是已经可以绑定了不抱错了,只是在页面展示的时候会出现你想选择的默认值没有成功,每次都显示了第一个,这个要从页面的生命周期讲起,因为你的绑定事件是写在Page_Load里面的,所以你选择的时候每次都会重新绑定一次,你要做的是在Page_Load里面写上 Page_Load() { if(!ispost) { //初始化绑定DDL数据源方法 DropDownListDataBinds(); } this.ddl.selectvalue="";这样即可,或许有些许偏差,我想你的应该就是每次访问后台都是从Page_Load开始,都会重新绑定一次,所以你无法选择一个值。 }
闭包客 2016-10-22
  • 打赏
  • 举报
回复
引用 2 楼 qq_36461620 的回复:
1、下拉列表框已经能填充数据了; 2、我在程序中添加这个语句 this.DropDownList1.SelectedValue = tmpda.Rows[0][“列名”"].ToString().Trim(); 下拉类表框为什么不能正确选择该值,每次总是选择在下拉列表框最上面的值 [quote=引用 1 楼 xihuanni2358 的回复:] DropDownList1.DataSource = ds.Tables["CompanyType"].DefaultView; DropDownList1.DataValueField = ds.Tables["CompanyType"].Columns[1].ColumnName; DropDownList1.DataTextField = ds.Tables["CompanyType"].Columns[1].ColumnName; DropDownList1.DataBind(); 绑定数据源后,需要指定显示值和隐示值。
[/quote] Row[0] 可能就是第一个值,如果不是,去掉 Trim(),绑定的时候没有 tirm,选择的时候也不用。
qq_36461620 2016-10-22
  • 打赏
  • 举报
回复
1、下拉列表框已经能填充数据了; 2、我在程序中添加这个语句 this.DropDownList1.SelectedValue = tmpda.Rows[0][“列名”"].ToString().Trim(); 下拉类表框为什么不能正确选择该值,每次总是选择在下拉列表框最上面的值
引用 1 楼 xihuanni2358 的回复:
DropDownList1.DataSource = ds.Tables["CompanyType"].DefaultView; DropDownList1.DataValueField = ds.Tables["CompanyType"].Columns[1].ColumnName; DropDownList1.DataTextField = ds.Tables["CompanyType"].Columns[1].ColumnName; DropDownList1.DataBind(); 绑定数据源后,需要指定显示值和隐示值。
隔壁黎叔叔 2016-10-22
  • 打赏
  • 举报
回复
DropDownList1.DataSource = ds.Tables["CompanyType"].DefaultView; DropDownList1.DataValueField = ds.Tables["CompanyType"].Columns[1].ColumnName; DropDownList1.DataTextField = ds.Tables["CompanyType"].Columns[1].ColumnName; DropDownList1.DataBind(); 绑定数据源后,需要指定显示值和隐示值。
chi742658817 2016-10-22
  • 打赏
  • 举报
回复
这样绑.

DropDownList1.DataSource = dt;
DropDownList1.DataValueField ="选项值的列名";
DropDownList1.DataTextField = "选项文本显示的列名";
DropDownList1.DataBind();

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧