(50分求助)关于GridView中绑定DropDownList的问题

Zeilg1981 2007-01-23 12:56:25
在一个GridView中绑定2个DropDownList,分别是ddl_A,ddl_B,都用模板列方式绑定。B的实际内容需要根据A的当前选定内容来获取,怎样将A和B关联起来呢?ddl_A的SelectedIndexChanged事件写在哪里呢?
...全文
591 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangpeng_2008 2008-05-11
  • 打赏
  • 举报
回复
不错, NamingContainer 第一次听说!
ldw701 2007-03-02
  • 打赏
  • 举报
回复
mark
cooolchen 2007-02-25
  • 打赏
  • 举报
回复
收藏!
lxmfll2000 2007-01-23
  • 打赏
  • 举报
回复
谢谢孟大哥!
Zeilg1981 2007-01-23
  • 打赏
  • 举报
回复
谢谢孟子大哥:)
孟子E章 2007-01-23
  • 打赏
  • 举报
回复
完整例子
<%@ Page Language="C#" EnableViewState="true" AutoEventWireup="true" CodeFile="Default.aspx.cs"
Inherits="_Test_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form runat="server">
<asp:GridView ID="GridView1" runat="server">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:DropDownList ID="da" runat="server" AutoPostBack="true" OnSelectedIndexChanged="da_SelectedIndexChanged">
<asp:ListItem>1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
<asp:ListItem>3</asp:ListItem>
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:DropDownList ID="db" runat="server">
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</form>
</body>
</html>

using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

public partial class _Test_Default : System.Web.UI.Page
{
ICollection CreateDataSource( )
{
System.Data.DataTable dt = new System.Data.DataTable();
System.Data.DataRow dr;
dt.Columns.Add(new System.Data.DataColumn("学生班级", typeof(System.String)));
dt.Columns.Add(new System.Data.DataColumn("学生姓名", typeof(System.String)));
dt.Columns.Add(new System.Data.DataColumn("语文", typeof(System.Decimal)));
dt.Columns.Add(new System.Data.DataColumn("数学", typeof(System.Decimal)));
dt.Columns.Add(new System.Data.DataColumn("英语", typeof(System.Decimal)));
dt.Columns.Add(new System.Data.DataColumn("计算机", typeof(System.Decimal)));

for (int i = 0 ; i < 6 ; i++)
{
System.Random rd = new System.Random(Environment.TickCount * i); ;
dr = dt.NewRow();
dr[0] = "班级" + i.ToString();
dr[1] = "【孟子E章】" + i.ToString();
dr[2] = System.Math.Round(rd.NextDouble() * 100, 2);
dr[3] = System.Math.Round(rd.NextDouble() * 100, 2);
dr[4] = System.Math.Round(rd.NextDouble() * 100, 2);
dr[5] = System.Math.Round(rd.NextDouble() * 100, 2);
dt.Rows.Add(dr);
}
System.Data.DataView dv = new System.Data.DataView(dt);
return dv;
}

protected void Page_Load( object sender, EventArgs e )
{
if (!IsPostBack)
{
GridView1.Attributes.Add("style", "table-layout:fixed");
GridView1.DataSource = CreateDataSource();
GridView1.DataBind();
}
}

protected void da_SelectedIndexChanged( object sender, EventArgs e )
{
string[] b = { "A", "B", "C" };
DropDownList da = (DropDownList)sender;
System.Web.UI.WebControls.GridViewRow dvr = (System.Web.UI.WebControls.GridViewRow)da.NamingContainer;
DropDownList db = (DropDownList)dvr.FindControl("db");
for (int i = 0 ; i < b.Length ; i++)
{
db.Items.Add(b[i]);
}
db.SelectedIndex = da.SelectedIndex;

}
}
孟子E章 2007-01-23
  • 打赏
  • 举报
回复
<asp:TemplateField>
<ItemTemplate>
<asp:DropDownList ID="da" runat="server" AutoPostBack="true" OnSelectedIndexChanged="da_SelectedIndexChanged" >
<asp:ListItem>1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
<asp:ListItem>3</asp:ListItem>
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>


protected void da_SelectedIndexChanged( object sender, EventArgs e )
{
string[] b = { "A", "B", "C" };
DropDownList da = (DropDownList)sender;
System.Web.UI.WebControls.GridViewRow dvr = (System.Web.UI.WebControls.GridViewRow)da.NamingContainer;
DropDownList db = (DropDownList)dvr.FindControl("db");
for (int i = 0 ; i < b.Length ; i++)
{
db.Items.Add(b[i]);
}
db.SelectedIndex = da.SelectedIndex;

}

62,243

社区成员

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

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

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

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