GridView的操作:事件冲突

本文详细介绍了如何在GridView的编辑状态下,针对特定行的控件进行操作限制,包括跳转链接和按钮功能的调整。

GridView在Edit状态的行是Template中的EditItemtemplat中的控件,

某些时候,需要控制这些行,避免对他们进行操作

情况一:如不加!=EditIndex的控制,则RowDataBound将寻找空间HyperLink,而在Edit状态,控件无效

ContractedBlock.gifExpandedBlockStart.gifCode
<asp:TemplateField HeaderText="功能组名称">
<ItemTemplate>
<asp:HyperLink ID="Group_Name_Lab" runat="server" 
Text='<%#Eval("Function_GroupName") %>'></asp:HyperLink>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
<EditItemTemplate>
<asp:TextBox ID="Group_Name_Box" runat="server" 
Text='<%#Eval("Function_GroupName") %>'></asp:TextBox>
</EditItemTemplate>
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
</asp:TemplateField>

 处理

ContractedBlock.gifExpandedBlockStart.gifCode
 1protected void FunctionGroupGridView_RowDataBound(
 2object sender, GridViewRowEventArgs e)
 3ExpandedBlockStart.gifContractedBlock.gif{
 4if (e.Row.RowIndex != -1 &&
 5 e.Row.RowType == DataControlRowType.DataRow
 6&&e.Row.RowIndex!=this.FunctionGroupGridView.EditIndex)
 7ExpandedSubBlockStart.gifContractedSubBlock.gif{
 8((HyperLink)(e.Row.FindControl("Group_Name_Lab"))).NavigateUrl
 9 =
10"~/AdminManage/w_Function_QueryGroup.aspx?GID=" 
11+ ((Label)(e.Row.FindControl("Group_ID_Lab"))).Text;
12}

13}

情况二:如不在EditItemtemplate中写一个相同的HyperLink,则RowDataBound失败,因为无法找到控件

ContractedBlock.gifExpandedBlockStart.gifCode
 1<asp:TemplateField HeaderText="操作">
 2<EditItemTemplate>
 3<asp:HyperLink ID="Img_Link" runat="server" Target="_blank" 
 4Text="察看图片">
 5</asp:HyperLink>
 6|
 7<asp:LinkButton ID="LinkButton1" runat="server" 
 8CausesValidation="True" CommandName="Update"
 9Text="更新">
10</asp:LinkButton>
11<asp:LinkButton ID="LinkButton2" runat="server" 
12CausesValidation="False" CommandName="Cancel"
13Text="取消">
14</asp:LinkButton>
15</EditItemTemplate>
16<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
17<ItemTemplate>
18<asp:HyperLink ID="Img_Link" runat="server" Target="_blank" 
19Text="察看图片">
20</asp:HyperLink>
21|
22<asp:LinkButton ID="LinkButton1" runat="server" 
23CausesValidation="False" CommandName="Edit"
24Text="编辑"></asp:LinkButton>
25|
26<asp:LinkButton ID="LinkButton2" runat="server" 
27CausesValidation="False" CommandName="Delete"
28Text="删除" OnClientClick="ConfirmDel()">
29</asp:LinkButton>
30</ItemTemplate>
31<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
32</asp:TemplateField>

 处理:

ContractedBlock.gifExpandedBlockStart.gifCode
protected void ImgGridView_RowDataBound(
object sender, GridViewRowEventArgs e)
{
if (e.Row.RowIndex != -1 && e.Row.RowType == 
DataControlRowType.DataRow)
{
string A = ((Label)(e.Row.FindControl("Time_Lab"))).Text;
string B = ((Label)(e.Row.FindControl("Name_Lab"))).Text;
HyperLink HL 
= (HyperLink)(e.Row.FindControl("Img_Link"));
HL.NavigateUrl 
=
Config.getOtherPhotoFolder(Convert.ToDateTime(A)) 
+ B;
}
}

 

转载于:https://www.cnblogs.com/lixx/archive/2008/08/19/1271594.html

乐播投屏是一款简单好用、功能强大的专业投屏软件,支持手机投屏电视、手机投电脑、电脑投电视等多种投屏方式。 多端兼容与跨网投屏:支持手机、平板、电脑等多种设备之间的自由组合投屏,且无需连接 WiFi,通过跨屏技术打破网络限制,扫一扫即可投屏。 广泛的应用支持:支持 10000+APP 投屏,包括综合视频、网盘与浏览器、美韩剧、斗鱼、虎牙等直播平台,还能将央视、湖南卫视等各大卫视的直播内容一键投屏。 高清流畅投屏体验:腾讯独家智能音画调校技术,支持 4K 高清画质、240Hz 超高帧率,低延迟不卡顿,能为用户提供更高清、流畅的视觉享受。 会议办公功能强大:拥有全球唯一的 “超级投屏空间”,扫码即投,无需安装。支持多人共享投屏、远程协作批注,PPT、Excel、视频等文件都能流畅展示,还具备企业级安全加密,保障会议资料不泄露。 多人互动功能:支持多人投屏,邀请好友加入投屏互动,远程也可加入。同时具备一屏多显、语音互动功能,支持多人连麦,实时语音交流。 文件支持全面:支持 PPT、PDF、Word、Excel 等办公文件,以及视频、图片等多种类型文件的投屏,还支持网盘直投,无需下载和转格式。 特色功能丰富:投屏时可同步录制投屏画面,部分版本还支持通过触控屏或电视端外接鼠标反控电脑,以及在投屏过程中用画笔实时标注等功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值