获取GRIDVIEW中的TemplateField显示的文本值
2014-03-24 17:50
344 查看
GRIDVIEW中数据源绑定后的属性绑定我一般采取2种办法
一个是BoundField,只要设置DataField的对应属性名即可;
如:
<asp:BoundField HeaderText ="系列" DataField="Catena" ItemStyle-Width="10%"/>
还有一个是TemplateField ,用来处理特殊的显示;
如:
<asp:TemplateField HeaderText ="年销量">
<ItemTemplate>
<%# GetSalesVolumes(Container.DataItem) %>
</ItemTemplate>
<ItemStyle Width="10%" HorizontalAlign="Center" />
</asp:TemplateField>
但是我在RowDataBound的绑定的一些事件中经常获取不到TemplateField中的文本值;
row.Cells[index].Text 的值为"";
后面查了些资料和思考了下,发现TemplateField是个容器,用来自定义显示的,绑定值为其的子容器;
调试监视了下发现
<ItemTemplate>
<%# GetSalesVolumes(Container.DataItem) %>
</ItemTemplate>
写法中row.Cells[index].Controls.count =1; 我GetType()了下发现,类型为DataBoundLiteralControl;
所以获取值的该列单元格的值方法为:
((DataBoundLiteralControl)row.Cells[index].Controls[0]).Text.Trim();
如果TemplateField包含多个子控件,就获取Cells[index]的Controls (类型为ControlCollection)来循环获取相应子控件,并进行相应的操作;
一个是BoundField,只要设置DataField的对应属性名即可;
如:
<asp:BoundField HeaderText ="系列" DataField="Catena" ItemStyle-Width="10%"/>
还有一个是TemplateField ,用来处理特殊的显示;
如:
<asp:TemplateField HeaderText ="年销量">
<ItemTemplate>
<%# GetSalesVolumes(Container.DataItem) %>
</ItemTemplate>
<ItemStyle Width="10%" HorizontalAlign="Center" />
</asp:TemplateField>
但是我在RowDataBound的绑定的一些事件中经常获取不到TemplateField中的文本值;
row.Cells[index].Text 的值为"";
后面查了些资料和思考了下,发现TemplateField是个容器,用来自定义显示的,绑定值为其的子容器;
调试监视了下发现
<ItemTemplate>
<%# GetSalesVolumes(Container.DataItem) %>
</ItemTemplate>
写法中row.Cells[index].Controls.count =1; 我GetType()了下发现,类型为DataBoundLiteralControl;
所以获取值的该列单元格的值方法为:
((DataBoundLiteralControl)row.Cells[index].Controls[0]).Text.Trim();
如果TemplateField包含多个子控件,就获取Cells[index]的Controls (类型为ControlCollection)来循环获取相应子控件,并进行相应的操作;
相关文章推荐
- 获取GRIDVIEW中的TemplateField显示的文本值
- .Net 后台获取GridView里<TemplateField>的控件值是否变化
- 获取GridView的TemplateField模版中LinkButton列值
- 获取GridView TemplateField的数据
- 获取GridView的TemplateField模版中某列值
- 获取Gridview的HyperLinkField的Text文本
- 获取Gridview的HyperLinkField的Text文本
- GridView控件 单击TemplateField中的Button控件时,获取该行的行号(行索引)
- Gridview TemplateField 显示日期
- GridView自定义TemplateField————把同一行中的内容分成多行显示///////若行数太多,则分行显示
- 通过html()的方法获取文本内容, form表单组件显示的值与获取到的值不一致的问题
- GridView TemplateField 动态添加取消颜色
- 如何获取GridView的EmptyDataTemplate中的控件
- Repeater在无数据记录时显示类似GridView空模板(EmptyDataTemplate)
- repeater、gridview 在绑定时判断判断显示不同的行样式或文本
- Repeater datalist在无数据记录时显示类似GridView空模板(EmptyDataTemplate)
- 如何在使用了TemplateField的GridView控件中访问Cell值?
- GridView中TextBox失去焦点或文本改变时更新本行(获取本行某列的值)
- ASP.NET+Extjs2.0+GridView+Js+显示数据,并且获取GridView相应列的值
- 获取dom对象中select的显示文本值和value值