如何为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试试,我也不确定行不行 - -
--------------------编程问答-------------------- DropDownList跟表格似乎扯不上关系,在dropdownlist里面只能显示纯文本的东西。
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();
}
可以用 "select a.userid + b.deptname + a.username as xxxxxx from sfrz_user a,sfrz_dept b where a.deptid=b.deptid"
取值的时候取 xxxxxx即可~ --------------------编程问答-------------------- 我原来见过绑定两列的例子:代码列、名称列,现在怎么也找不到了,所以求助来了 --------------------编程问答-------------------- 不会,,,,,,,, --------------------编程问答-------------------- 这个东西很少见到啊,什么地方会用到呢? --------------------编程问答-------------------- 我在做身份认证,要用名字+单位来识别用户 --------------------编程问答-------------------- 将DataGrid绑定到DropDownList上最理想 --------------------编程问答--------------------
!~你那还是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();
}
--------------------编程问答-------------------- 字符串拼接不错…… --------------------编程问答--------------------
dropDownList.DataTextField = "列一";
dropDownList.DataValueField = "列而";
补充:.NET技术 , ASP.NET