gridview绑定dropdownlist

zhut027 2009-04-17 10:21:18
gridview连接SQL2000的pubs数据库中的authors表,其中city列用dropdownlist来表示

代码应该如何写

...全文
380 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
dd__dd 2009-04-17
  • 打赏
  • 举报
回复

<asp:TemplateField HeaderText="">
<itemtemplate>
<asp:DropDownList ID="hh" runat="server"></asp:DropDownList>
</itemtemplate>
</asp:TemplateField>


protected void SmartGridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
DropDownList dd = (DropDownList)e.Row.Cells[0].FindControl("hh");
dd.DataSource = DataTable;
dd.DataTextField = "";
dd.DataValueField = "";
dd.DataBind();
}

}
vlysses 2009-04-17
  • 打赏
  • 举报
回复
OledbDataAdapter 改为 SqlDataAdapter
vlysses 2009-04-17
  • 打赏
  • 举报
回复

<asp:GridView ID="GridView1" runat="server" OnRowDataBound="GridView1_RowDataBound">
<Columns>
<asp:TemplateField HeaderText="city">
<ItemTemplate>
<asp:DropDownList ID="DropDownList1" runat="server" DataValueField="city" DataTextField="city">
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>



protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
DropDownList ddl;
ddl = (DropDownList)(e.Row.FindControl("DropDownList1"));
string sqlstr = "select city from authors";
OledbDataAdapter da=new OledbDataAdapter(sqlstr ,con);
DataSet ds=new DataSet();
da.Fill(ds);
ddl.DataSource=ds;
ddl.DataBind();
}

gciyfzx07 2009-04-17
  • 打赏
  • 举报
回复
<asp:GridView ID="gv" runat="server" AutoGenerateColumns="false" OnRowDataBound="gv_RowDataBound">
<Columns>
<asp:BoundField HeaderText="Id" DataField="Id" />
<asp:TemplateField HeaderText="Type">
<ItemTemplate>
<asp:DropDownList ID="ddl" runat="server" SelectedValue='<%# Bind("Type") %>' DataSourceID="ods" DataTextField="Name" DataValueField="Id" >

</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:ObjectDataSource ID="ods" runat="server" SelectMethod="GetABC" TypeName="Test.ODataSource">
</asp:ObjectDataSource>

GetABC()方法是在Test.ODataSource定义 可以试下这种绑定
zhut027 2009-04-17
  • 打赏
  • 举报
回复
还是出不来
这是我的代码请多指教

前台代码
<asp:GridView ID="GridView1" runat="server" OnRowDataBound="GridView1_RowDataBound">
<Columns>
<asp:TemplateField HeaderText="city">
<ItemTemplate>
<asp:DropDownList ID="DropDownList1" runat="server" DataSource='<%# ddlbind()%>' DataValueField="city" DataTextField="city">
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>

后台代码
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;

public partial class _Default : System.Web.UI.Page
{
SqlConnection con = new SqlConnection("server=.;uid=sa;pwd=;database=pubs");
protected void Page_Load(object sender, EventArgs e)
{

if (!IsPostBack)
{

string sqlstr = "select * from authors";
SqlDataAdapter myda = new SqlDataAdapter(sqlstr,con);
DataSet myds = new DataSet();
myda.Fill(myds, "authors");
GridView1.DataSource = myds;
GridView1.DataBind();

}
}
public SqlDataReader ddlbind()
{
string sqlstr = "select city from authors";
con.Open();
SqlCommand sqlcom = new SqlCommand(sqlstr,con);

return sqlcom.ExecuteReader();

}

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
DropDownList ddl;
ddl = (DropDownList)(e.Row.FindControl("DropDownList1"));
ddl.DataBind();
}
}
天上下雨 2009-04-17
  • 打赏
  • 举报
回复
<asp:GridView ID="GridView1" runat="server" OnRowDataBound="GridView1_RowDataBound">
<Columns>
<asp:TemplateField HeaderText="bbb">
<ItemTemplate>
<asp:DropDownList ID="DropDownList1" runat="server">
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
DropDownList ddl1 = (DropDownList)(e.Row.FindControl["DropDownList1"]);
ddl1.DataSource = ds;
ddl1.DataBind();
}
蔡袅 2009-04-17
  • 打赏
  • 举报
回复

this.dropdownlist.Items.Clear();
string str="select city from authors"

SqlConnection Sqlcon=new SqlConnection(ConStr);
SqlCommand sqlcom=new SqlCommand(str,Sqlcon);
Sqlcon.Open();
SqlDataReader rd=sqlcom.ExcuteReader();
while(rd.Read())
{
this.dropdownlist.Items.Add(rd["city "].ToString());
}
Sqlcon.Close();
rd.Close();
zhut027 2009-04-17
  • 打赏
  • 举报
回复
各位大虾

方法我知道,就是出不来结果,我要的是代码
dengyun_1223 2009-04-17
  • 打赏
  • 举报
回复
把数据绑定dropdownlist
icbc_ljt 2009-04-17
  • 打赏
  • 举报
回复
先转化为模板列,再在前台用findcontrol打到这个控件,加载
chenwei175528 2009-04-17
  • 打赏
  • 举报
回复
dropdownlist那一列用模版列
然后dropdownlist绑定数据源
wuyq11 2009-04-17
  • 打赏
  • 举报
回复
asp:TemplateField HeaderText="">
<EditItemTemplate>
<asp:DropDownList ID="ddl" runat="server" TabIndex="-1" CssClass="not-null" Width="200px" AutoPostBack="True" OnSelectedIndexChanged="ddl_SelectedIndexChanged" >
</asp:DropDownList>
</EditItemTemplate>
<ItemTemplate>
</ItemTemplate>
<ItemStyle Width="250px" CssClass="GVCellStyle" />
<HeaderStyle Width="250px" />
</asp:TemplateField>


protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowState == DataControlRowState.Edit || e.Row.RowState == (DataControlRowState.Alternate | DataControlRowState.Edit))
{
DropDownList ddl = (DropDownList)e.Row.FindControl("ddl");
if (ddl != null)
{
//绑定数据
}
}
}
参考

皓月明 2009-04-17
  • 打赏
  • 举报
回复
用模板列进行操作,这样不就好了

62,266

社区成员

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

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

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

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