当前位置:编程学习 > C#/ASP.NET >>

如何为DropDownList绑定表格显示的多列数据

sql语句:
select a.userid, b.deptname,a.username from sfrz_user a,sfrz_dept b  where a.deptid=b.deptid;

目的:
将三列数据绑定到DropDownList,并以表格的形式显示,但只取一个值,另外两个值是必须的参考数据 --------------------编程问答-------------------- 这个在asp.net中难实现,但是在WPF或Silverlight中利用Combox的DataTemplate可以很轻松实现。 --------------------编程问答-------------------- 考虑css 和 js 试试吧 --------------------编程问答-------------------- 还木有绑过3列的,只绑过2列的 --------------------编程问答-------------------- 楼主加油,会了分享一下。tks --------------------编程问答-------------------- kk297173176,两列的如何绑定? --------------------编程问答-------------------- 将三列数据绑定到DropDownList,并以表格的形式显示,但只取一个值,另外两个值是必须的参考数据
这个需求很奇怪,既然是 绑定dropdownlist,有怎么变表格了? --------------------编程问答-------------------- 高深的問題.懂的分享一下.謝謝 --------------------编程问答-------------------- 截个图,我看看什么样子 --------------------编程问答-------------------- 就是在DropDownList上绑定三列数据,下拉的时候显示多行三列 --------------------编程问答-------------------- 我感觉这个需要自己写控件了,用js+div模拟。。 --------------------编程问答-------------------- dropdownlist后台绑定数据时这样,LZ试试,我也不确定行不行 - -

private void DaBind()
  {
     string strconn="select a.userid, b.deptname,a.username from sfrz_user as a,sfrz_dept as b where a.deptid=b.deptid";
     SqlConnection conn =new SqlConnection(strconn);
     SqlCommand cmd=new SqlCommand();
     cmd.Connection=conn;
     cmd.CommandType=CommandType.Text;            
     SqlDataAdapter da=new SqlDataAdapter(cmd);
     DataSet ds=new DataSet();
     DdlChang.DataSource = ds;
     DdlChang.DataTextField = "a.userid"+" ,"+"b.deptname"+" ,"+"a.username";
     DdlChang.DataValueField = "a.userid";
     DdlChang.DataBind();

  }
--------------------编程问答-------------------- DropDownList跟表格似乎扯不上关系,在dropdownlist里面只能显示纯文本的东西。
可以用 "select a.userid + b.deptname + a.username as xxxxxx from sfrz_user a,sfrz_dept b where a.deptid=b.deptid"

取值的时候取 xxxxxx即可~ --------------------编程问答-------------------- 我原来见过绑定两列的例子:代码列、名称列,现在怎么也找不到了,所以求助来了 --------------------编程问答-------------------- 不会,,,,,,,, --------------------编程问答-------------------- 这个东西很少见到啊,什么地方会用到呢? --------------------编程问答-------------------- 我在做身份认证,要用名字+单位来识别用户 --------------------编程问答-------------------- 将DataGrid绑定到DropDownList上最理想 --------------------编程问答--------------------
引用 17 楼 jjff 的回复:
将DataGrid绑定到DropDownList上最理想


!~你那还是dropdownlist啊。。用弹出层去吧。。 --------------------编程问答--------------------
引用楼主 jjff 的回复:
sql语句:
select a.userid, b.deptname,a.username from sfrz_user a,sfrz_dept b  where a.deptid=b.deptid;

目的:
将三列数据绑定到DropDownList,并以表格的形式显示,但只取一个值,另外两个值是必须的参考数据


显示多列数据?一个DROPDOWNLIST只能显示一个数据和后面匹配的VALUE。

多个数据为何不用其他方式 --------------------编程问答--------------------     在数据库查询的时候 把要查询的三列 加起来 中间用空格隔开 作为一列  --------------------编程问答-------------------- LZ,难道我的方法不行? --------------------编程问答-------------------- 哈哈,我也不懂,我也想用。大伙有方法放上来学习啊 --------------------编程问答-------------------- 参考:


http://www.cnblogs.com/insus/articles/2075101.html --------------------编程问答-------------------- 问题自己解决了。
前台:
                                       <asp:TemplateColumn HeaderText="userid">
                                            <HeaderStyle HorizontalAlign="Center"></HeaderStyle>
                                            <ItemTemplate>
                                                <igcmbo:WebCombo ID="WebCombo1" runat="server" BackColor="White" BorderColor="Silver"
                                                    BorderStyle="Solid" BorderWidth="1px" ForeColor="Black" SelBackColor="DarkBlue" Width="60px"
                                                    SelForeColor="White" Version="4.00" >

                                                    <ExpandEffects ShadowColor="LightGray" />
                                                    <DropDownLayout BaseTableName="" BorderCollapse="Separate" RowHeightDefault="20px"
                                                        Version="4.00">
                                                        <HeaderStyle BackColor="LightGray" BorderStyle="Solid">
                                                            <BorderDetails ColorLeft="White" ColorTop="White" WidthLeft="1px" WidthTop="1px" />
                                                        </HeaderStyle>
                                                        <FrameStyle BackColor="Silver" BorderStyle="Ridge" BorderWidth="2px" Cursor="Default"
                                                            Font-Names="Verdana" Font-Size="10pt" Height="130px" Width="325px">
                                                        </FrameStyle>
                                                        <RowStyle BackColor="White" BorderColor="Gray" BorderStyle="Solid" BorderWidth="1px">
                                                            <BorderDetails WidthLeft="0px" WidthTop="0px" />
                                                        </RowStyle>
                                                        <SelectedRowStyle BackColor="DarkBlue" ForeColor="White" />
                                                    </DropDownLayout>
                                                </igcmbo:WebCombo>
                                            </ItemTemplate>
                                        </asp:TemplateColumn>

后台:
        for(int i=0;i<this.DataGrid1.Items.Count;i++)
{
                
                xm = this.DataGrid1.Items[i].Cells[3].Text;
                OracleConnection conn1 = new OracleConnection(conn_str);
                strsql2 = "select a.userid as  \"用户ID\",a.username as \"用户姓名\",b.deptname as \"单位名称\"  from sfrz_user a,sfrz_dept b where a.deptid=b.deptid and a.username='" + xm + "'";
                
                OracleDataAdapter da1 = new OracleDataAdapter(strsql2, conn1);
                DataSet ds1 = new DataSet();
                try
                {
                    da1.Fill(ds1, "sfrz_user");
                }
                catch
                {
                    throw new Exception(strsql2);
                }



                    WebCombo wcb = (WebCombo)this.DataGrid1.Items[i].FindControl("WebCombo1");
                    wcb.DataSource = ds1.Tables["sfrz_user"];
                    wcb.DataMember = "sfrz_user";                   

                    wcb.DropDownLayout.AutoGenerateColumns = true;

                    wcb.DataBind();
                    
                    conn1.Close();

}
--------------------编程问答-------------------- 字符串拼接不错…… --------------------编程问答--------------------
引用 5 楼 jjff 的回复:
kk297173176,两列的如何绑定?


dropDownList.DataTextField = "列一";
dropDownList.DataValueField = "列而";
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,