紧急呼救:datagrid动态绑定模板列、绑定列后出现的问题,内有详细代码,up有分
声明一下:datagrid控件在html页面中只有一列
<asp:datagrid id="ExportGrid" style="Z-INDEX: 102" runat="server" Width="100%" GridLines="Vertical"
AutoGenerateColumns="False" PageSize="15">
<AlternatingItemStyle CssClass="gridEvenRow"></AlternatingItemStyle>
<ItemStyle CssClass="gridOddRow"></ItemStyle>
<HeaderStyle CssClass="gridHead" VerticalAlign="Middle"></HeaderStyle>
<Columns>
<asp:TemplateColumn Visible="False" HeaderText="模板列"></asp:TemplateColumn>
</Columns>
<PagerStyle Visible="False"></PagerStyle>
</asp:datagrid>
本人通过如下函数的方法加入了模板列和绑定列
private void AddBoundColumnToGrid(string strHeaderText,bool bWrap,int iHeaderWidth,string strDataField,bool bVisible,int iColumnIndex,DataGrid objGrid)
{
BoundColumn dc = new BoundColumn();
dc.HeaderText = strHeaderText;
dc.HeaderStyle.Wrap = bWrap;
dc.HeaderStyle.Width = Unit.Parse(iHeaderWidth.ToString() + "%");
dc.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
dc.HeaderStyle.VerticalAlign = VerticalAlign.Middle;
dc.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
dc.ItemStyle.VerticalAlign = VerticalAlign.Middle;
dc.DataField = strDataField;
dc.Visible = bVisible;
dc.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
objGrid.Columns.AddAt(iColumnIndex,dc);
}
private void AddTemplateColumnToGrid(DataGrid objGrid,int iColumnIndex,
string headtype,string headid,string headinfo,
string itemtype,string itemid,string iteminfo)
{
TemplateColumn tc = new TemplateColumn();
tc.HeaderTemplate = new DataGridTemplates.CTemplateColumn(headtype,headid,true,headinfo);
tc.ItemTemplate = new DataGridTemplates.CTemplateColumn(itemtype,itemid,false,iteminfo);
tc.HeaderStyle.Width = Unit.Parse("10%");
tc.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
tc.HeaderStyle.VerticalAlign = VerticalAlign.Middle;
tc.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
tc.ItemStyle.VerticalAlign = VerticalAlign.Middle;
objGrid.Columns.AddAt(iColumnIndex,tc);
}
其中的 类 DataGridTemplates.CTemplateColumn 就是继承 ITemplate 类的一个接口,控制模板列中增加何种控件
然后绑定数据后这个时候都没有问题,在 ItemDataBound 事件中都可以获取到绑定到列上的值
但是问题出现在点击模板列上的linkbutton(是通过模板列生成的)时候,没有任何事件触发并且
datagrid上绑定的数据不见了,只是做了向服务端提交的功能,我是想通过点击某一列上的linkbutton
然后进入到该按钮的事件中,把每行中的隐藏列中的数据读取出来
注意:我还不想在html页面中把要显示的列都写死,我想所有要显示的列都灵活读取。
谁帮忙解决一下问题,
还有,在 ItemDataBound 事件中我使用
((LinkButton)e.Item.Cells[7].FindControl("btnShowInfo")).Click += new System.EventHandler(this.ShowInfoClick);没有反应进入不到 ShowInfoClick 函数
在ItemCommand 事件中如果写
但是这个时候 Cells[7] 还没有生成,还是取不到
帮忙啊,急用!!!
<asp:datagrid id="ExportGrid" style="Z-INDEX: 102" runat="server" Width="100%" GridLines="Vertical"
AutoGenerateColumns="False" PageSize="15">
<AlternatingItemStyle CssClass="gridEvenRow"></AlternatingItemStyle>
<ItemStyle CssClass="gridOddRow"></ItemStyle>
<HeaderStyle CssClass="gridHead" VerticalAlign="Middle"></HeaderStyle>
<Columns>
<asp:TemplateColumn Visible="False" HeaderText="模板列"></asp:TemplateColumn>
</Columns>
<PagerStyle Visible="False"></PagerStyle>
</asp:datagrid>
本人通过如下函数的方法加入了模板列和绑定列
private void AddBoundColumnToGrid(string strHeaderText,bool bWrap,int iHeaderWidth,string strDataField,bool bVisible,int iColumnIndex,DataGrid objGrid)
{
BoundColumn dc = new BoundColumn();
dc.HeaderText = strHeaderText;
dc.HeaderStyle.Wrap = bWrap;
dc.HeaderStyle.Width = Unit.Parse(iHeaderWidth.ToString() + "%");
dc.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
dc.HeaderStyle.VerticalAlign = VerticalAlign.Middle;
dc.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
dc.ItemStyle.VerticalAlign = VerticalAlign.Middle;
dc.DataField = strDataField;
dc.Visible = bVisible;
dc.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
objGrid.Columns.AddAt(iColumnIndex,dc);
}
private void AddTemplateColumnToGrid(DataGrid objGrid,int iColumnIndex,
string headtype,string headid,string headinfo,
string itemtype,string itemid,string iteminfo)
{
TemplateColumn tc = new TemplateColumn();
tc.HeaderTemplate = new DataGridTemplates.CTemplateColumn(headtype,headid,true,headinfo);
tc.ItemTemplate = new DataGridTemplates.CTemplateColumn(itemtype,itemid,false,iteminfo);
tc.HeaderStyle.Width = Unit.Parse("10%");
tc.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
tc.HeaderStyle.VerticalAlign = VerticalAlign.Middle;
tc.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
tc.ItemStyle.VerticalAlign = VerticalAlign.Middle;
objGrid.Columns.AddAt(iColumnIndex,tc);
}
其中的 类 DataGridTemplates.CTemplateColumn 就是继承 ITemplate 类的一个接口,控制模板列中增加何种控件
然后绑定数据后这个时候都没有问题,在 ItemDataBound 事件中都可以获取到绑定到列上的值
但是问题出现在点击模板列上的linkbutton(是通过模板列生成的)时候,没有任何事件触发并且
datagrid上绑定的数据不见了,只是做了向服务端提交的功能,我是想通过点击某一列上的linkbutton
然后进入到该按钮的事件中,把每行中的隐藏列中的数据读取出来
注意:我还不想在html页面中把要显示的列都写死,我想所有要显示的列都灵活读取。
谁帮忙解决一下问题,
还有,在 ItemDataBound 事件中我使用
((LinkButton)e.Item.Cells[7].FindControl("btnShowInfo")).Click += new System.EventHandler(this.ShowInfoClick);没有反应进入不到 ShowInfoClick 函数
在ItemCommand 事件中如果写
但是这个时候 Cells[7] 还没有生成,还是取不到
帮忙啊,急用!!!
...全文
相关推荐
asp.net c# 开发笔记
- **DataGrid数据导出成Word文档**:提供数据导出功能,便于用户离线查看或打印。6. **安装部署**:涵盖了将开发好的应用程序发布到服务器,配置IIS,以及处理可能出现的部署问题。
理文.doc
**查询条件表单**:与datagrid关联,提供查询参数,通过paramForm属性绑定。16.
VB医院血库管理系统设计(源代码+系统+开题报告+说明).rar
此外,VB还支持多种数据绑定技术,如DataGrid控件可以直接显示数据库中的数据,简化了用户界面与数据库之间的交互。
转筒干燥器的总体与结构设计.rar
安全防护方面配置超温报警、断料停机、筒体过载保护、紧急制动按钮及防爆电气元件(Ex dⅡBT4级),所有转动部件加装符合GB/T 8196-2003标准的固定式防护罩。
避坑指南:在Ubuntu 22.04上配置UR5e与ROS2 Humble真机通信的完整流程
本文详细介绍了在Ubuntu 22.04上配置UR5e机械臂与ROS2 Humble真机通信的完整流程,包括环境准备、网络配置、URCap安装、ROS2驱动部署及控制器状态验证等关键步骤。特别针对常见问题如网络连接失败、驱动启动错误等提供了实用解决方案,帮助工程师高效完成UR5e与ROS2的集成工作。


