高分求助对于表头(HeaderTemplate)添加的控件,后台然后获取到此控件ID?

jackymi 2006-07-25 12:19:38
System.Web.UI.WebControls.CheckBoxList ck1;
System.Web.UI.WebControls.CheckBoxList ck2;


foreach(DataGridItem dt in DataGrid1.Items)
{
ck1=(CheckBoxList)dt.FindControl("CheckBoxList21");<---表头里面的Checkboxlist(无法获取) ck2=(CheckBoxList)dt.FindControl("CheckBoxList2");<-------模板列里面的Checkboxlist(可以正常获取)
}
}
}
...全文
252 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
windows19790408 2006-10-04
  • 打赏
  • 举报
回复
在服务器端查找时只要使用动态添加控件的父控件的findcontrol就OK
jackymi 2006-07-26
  • 打赏
  • 举报
回复
最后还是用js解决啦 不过还是谢谢antiking兄 :)
antiking 2006-07-25
  • 打赏
  • 举报
回复

这个是不做注释的.我那些都不注释的.给你的时候做了注释的.
我是通过这个来掉dropdownlist1_SelectedIndexChanged事件的。
DropDownList ddl = (DropDownList)e.Row.FindControl("dropdownlist1");
ddl.SelectedIndexChanged += new EventHandler(dropdownlist1_SelectedIndexChanged);
jackymi 2006-07-25
  • 打赏
  • 举报
回复
明白啦
antiking 2006-07-25
  • 打赏
  • 举报
回复
对了我上面的列子是根据 HeaderTemplate里下拉框选不同条件来显示内容的.我想你的应该和这差不多.仅做参考.具体的自己弄弄就出来了。
     <asp:TemplateField>
<HeaderTemplate>
<asp:DropDownList
runat="server"
ID="dropdownlist1"
BackColor="NavajoWhite"
AutoPostBack="true"
>
<asp:ListItem Value="0" Text=" "/>
<asp:ListItem Value="1" Text="整箱"/>
<asp:ListItem Value="2" Text="散货"/>
<asp:ListItem Value="3" Text="自拼"/>
</asp:DropDownList>
</HeaderTemplate>
</asp:TemplateField>
jackymi 2006-07-25
  • 打赏
  • 举报
回复
楼上的兄弟 我没有在DataGrid的任何事件里面处理,

protected void CheckBoxList1_SelectedIndexChanged(object sender, System.EventArgs e)
{}

我是在上边这个事件里面处理的 所以你所写的代码没有办法通过
antiking 2006-07-25
  • 打赏
  • 举报
回复
protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Header)
{

     ----我不知道你用的是不是gridview控件,我想写法差不多,下面的代码我没搽去是希望能给你帮助-----------



// DropDownList ddl = (DropDownList)e.Row.FindControl("dropdownlist1");
// ddl.SelectedIndexChanged += new EventHandler(dropdownlist1_SelectedIndexChanged);
}
//if (e.Row.RowType == DataControlRowType.DataRow)
//{
// e.Row.Cells[0].BackColor = System.Drawing.Color.White;
//}
}
protected void dropdownlist1_SelectedIndexChanged(object sender, EventArgs e)
{
DropDownList ddl= sender as DropDownList;
 }
jackymi 2006-07-25
  • 打赏
  • 举报
回复
上边是CheckboxList的套用格式
jackymi 2006-07-25
  • 打赏
  • 举报
回复
<asp:TemplateColumn>
<HeaderTemplate>
<FONT face="宋体">
<TABLE id="Table1" cellSpacing="0" cellPadding="0" width="300" border="0">
<TR>
<TD>语言版本</TD>
</TR>
<TR>
<TD>
<asp:CheckBoxList id="CheckBoxList1" runat="server" Width="600px" RepeatDirection="Horizontal" OnSelectedIndexChanged="CheckBoxList1_SelectedIndexChanged"></asp:CheckBoxList></TD>
</TR>
</TABLE>
</FONT>
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBoxList id="CheckBoxList2" runat="server" Width="600px" RepeatDirection="Horizontal"></asp:CheckBoxList>
</ItemTemplate>
</asp:TemplateColumn>
jackymi 2006-07-25
  • 打赏
  • 举报
回复
if (e.Row.RowType == DataControlRowType.Header)
{
    }

请写清楚可以吗?
antiking 2006-07-25
  • 打赏
  • 举报
回复
要判断
if (e.Row.RowType == DataControlRowType.Header)
{
    }
2.gridview如果无数据Header的操作你都要考虑进去.
一、AspNetPager支持两种方式分页: 一种是PostBack方式分页, 一种是通过Url来实现分页以及Url重写功能 二、AspNetPager支持各种数据绑定控件GridView、DataGrid、DataList、Repeater以及自定义的数据绑定控件的分页功能十分强大。 三、AspNetPager分页控件本身并不显示任何数据,而只显示分页导航元素,数据在页面上的显示方式与该控件无关,所以需要手写数据连接方法来配合, 四、结合TOP 。。。NOT IN 的通用存储过程分页方法使用AspNetPager十分实用 测试控件datalist aspnetpager 的分页方法示例 分页方法为 PostBack 方式 1、 首先将AspNetPager.dll复制于应用程序下的bin目录,打开解决方案,引入dll文件 2、 在工具栏中添加控件,这样可以支持拖拽使用 3、 要使用AspNetPager 要为其设置最基本的属性 使用 SqlServer Northwind数据库的 Products表 protected Wuqi.Webdiyer.AspNetPager AspNetPager1; protected System.Web.UI.WebControls.Label Label1; protected System.Web.UI.WebControls.DataList DataList1; private void Page_Load(object sender, System.EventArgs e) { this.AspNetPager1.PageSize=10; //设置每也显示的记录条数 if(!IsPostBack) //只在页面第一次加载时起作用 { SqlDBManager db = new SqlDBManager(System.Configuration.ConfigurationSettings.AppSettings["SqlConnectionString"]); AspNetPager1.RecordCount=db.CountPage("products");//获得要使用表的记录总数 //db.CountItems自定义的方法 this.BindData(); } } private void BindData() { SqlDBManager db= new SqlDBManager(System.Configuration.ConfigurationSettings.AppSettings["SqlConnectionString"].ToString(); DataList1.DataSource=db.FenPage(this.AspNetPager1.PageSize,this.AspNetPager1.CurrentPageIndex,"productid","products","productid,productname,unitprice,unitsinstock",""); //自定义方法由 TOP not in 存储过程分页方法改编 this.DataList1.DataBind(); //控件数据绑定 this.Label1.Text="当前第"+this.AspNetPager1.CurrentPageIndex+"页 总"+this.AspNetPager1.PageCount+"页"; } private void AspNetPager1_PageChanged(object sender, System.EventArgs e) { //页索引改变方法 this.BindData(); } 设计页效果 id="DataList1" style="Z-INDEX: 101; LEFT: 296px; POSITION: absolute; TOP: 96px" runat="server"> <HeaderTemplate> HeaderTemplate> Template>
产品ID 产品名称 产品数量 产品单价
Template> Template> <%# DataBinder.Eval(Container.DataItem,"Productid")%> <%# DataBinder.Eval(Container.DataItem,"productname")%> <%# DataBinder.Eval(Container.DataItem,"unitprice")%> <%# DataBinder.Eval(Container.DataItem,"unitsinstock")%> Template>
id="AspNetPager1" style="Z-INDEX: 102; LEFT: 256px; POSITION: absolute; TOP: 40px" runat="server" Width="500px" FirstPageText="首页" LastPageText="尾页" NextPageText="下一页" PrevPageText="上一页" Height="40px" NumericButt PagingButt ShowNavigati ShowInputBox="Always" TextAfterInputBox="页" TextBeforeInputBox="跳转到第" AlwaysShow="True"> id="Label1" style="Z-INDEX: 103; LEFT: 120px; POSITION: absolute; TOP: 56px" runat="server">Label
Repeater控件是Web 服务器控件中的一个容器控件,它使您可以从页的任何可用数据中创建出自定义列表。Repeater 控件不具备内置的呈现功能,这表示用户必须通过创建模板为 Repeater 控件提供布局。当该页运行时,Repeater 控件依次通过数据源中的记录为每个记录呈现一个项。 他很简单,用起来也不够强大,但是应了那句老话,杀鸡焉用牛刀,不用牛刀那用什么呢?难道我们去把鸡咬死不成?而我们在日常应用中也常常面临这样的选择,假设我们显示教复杂的数据,可以用gridview,一般复杂的用DataList,那么简单的数据呈现呢?我们就用Repeater了,因为他简单,小巧,最主要是灵活. 我们上面说,他不具备内置的呈现功能,所以我们得用到一些模板来实现他的数据呈现.对了,说到呈现,我还得多句嘴,他没有给你添加静态项的功能,换句话说,他只跟数据库打交道,一般人他不跟你说话. 下表描述了 Repeater 控件支持的模板。 模板属性 说明 ItemTemplate 包含要为数据源中每个数据项都要呈现一次的 HTML 元素和控件。 AlternatingItemTemplate 包含要为数据源中每个数据项都要呈现一次的 HTML 元素和控件。通常,可以使用此模板为交替项创建不同的外观,例如指定一种与在 ItemTemplate 中指定的颜色不同的背景色。 HeaderTemplate 和 FooterTemplate 包含在列表的开始和结束处分别呈现的文本和控件。 SeparatorTemplate 包含在每项之间呈现的元素。典型的示例可能是一条直线(使用 hr 元素)。

62,046

社区成员

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

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

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

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