程序中datagrid有“下载文档”一列,在该列放了三个HyperLink控件,分别为“中”、“英”、“法”,链接到该行记录所对应的中文附件、英文附件、法文附件的显示页面,代码如下所示:
<asp:TemplateColumn HeaderText="下载文档">
<ItemStyle Width="15%"></ItemStyle>
<ItemTemplate>
<asp:HyperLink id="hlCH" Runat=server Target="_blank" NavigateUrl= <%# "wdsDocShowCH.aspx?id=" + DataBinder.Eval(Container.DataItem,"doc_id") %> > 中</asp:HyperLink>
<asp:HyperLink id="hlEN" Runat=server Target="_blank" NavigateUrl= <%# "wdsDocShowEN.aspx?id=" + DataBinder.Eval(Container.DataItem,"doc_id") %> > 英</asp:HyperLink>
<asp:HyperLink id="hlFR" Runat=server Target="_blank" NavigateUrl= <%# "wdsDocShowFR.aspx?id=" + DataBinder.Eval(Container.DataItem,"doc_id") %> > 法</asp:HyperLink>
</ItemTemplate>
</asp:TemplateColumn>
但可能发生的情况是某条记录可能只有中文附件,没有英文和法文附件,所以想在页面装载时判断一下,如果没有相关语言的附件,则将其对应的HyperLink控件隐藏。
请教各位大虾如何实现该功能,小妹感激不尽啊~~~~~~~~
在datagrid的ItemDataBound事件中做应该可以把~
自定义Template可以解决。
从ITemplate继承,在InstantiateIn方法里写代码,控制样式。
隐藏的话好像只能对整列进行隐藏吧
你要这么样的功能的话,我感觉应该用模板列 在模板列中加一个litter或者label
通过databound的时候对label的text赋予不同的值
例如 如果只有中英文附件 可以这么写label1.Text="<a href=url\中文附件.doc>中</a> <a href=url\英文附件.doc>英</a> ";
======================================================
本人大四,下学期找工作了,各位兄弟帮帮忙
我的简历:http://202.118.70.40/winal/introduce.aspx
======================================================
可以放在模板列中3个按钮,判断没有附件的就将他隐藏
在MyDataGrid_ItemDataBound事件中:
((Button)e.Item.FindControl("butDelete").Visible=false;