欢迎访问我的个人博客:三秋邦

gridview中button添加事件以及获取点击button那行的索引和数据

首先上個效果圖吧!

 

廢話不多話,代碼如下

View Code
 1 <asp:GridView ID="gvData" runat="server" AutoGenerateColumns="False" CssClass="table01"
2 HorizontalAlign="Center" Width="80%" onrowcommand="gvData_RowCommand" DataKeyNames="S_NO">//请注意添加onrowcommand事件,否则点击btton没用的。
3 <Columns>
4 <asp:TemplateField HeaderText="系統類別">
5 <HeaderStyle Width="10%" />
6 <ItemTemplate>
7 市長信箱
8 </ItemTemplate>
9 </asp:TemplateField>
10 <asp:TemplateField HeaderText="府收文號">
11 <HeaderStyle Width="15%"></HeaderStyle>
12 <ItemTemplate>
13 <asp:Label ID="lblS_NO1" runat="server" Text='<%# Eval("S_NO1") %>'></asp:Label>
14 </ItemTemplate>
15 </asp:TemplateField>
16 <asp:TemplateField HeaderText="分文日期/陳情日期">
17 <HeaderStyle Width="10%"></HeaderStyle>
18 <ItemTemplate>
19 <asp:Label ID="lblE_DATE1" runat="server" Text='<%# Eval("E_DATE1") %>'></asp:Label>
20 </ItemTemplate>
21 </asp:TemplateField>
22 <asp:TemplateField HeaderText="預定結案日">
23 <HeaderStyle Width="10%"></HeaderStyle>
24 <ItemTemplate>
25 <asp:Label ID="lblS_DATE2" runat="server" Text='<%# Eval("S_DATE2") %>'></asp:Label>
26 </ItemTemplate>
27 </asp:TemplateField>
28 <asp:TemplateField HeaderText="實際結案日">
29 <HeaderStyle Width="10%"></HeaderStyle>
30 <ItemTemplate>
31 <asp:Label ID="lblE_DATE2" runat="server" Text='<%# Eval("E_DATE2") %>'></asp:Label>
32 </ItemTemplate>
33 </asp:TemplateField>
34 <asp:TemplateField>
35 <HeaderStyle Width="15%" />
36 <HeaderTemplate>
37 來信主題/主旨
39 </HeaderTemplate>
40 <ItemTemplate>
41 <asp:Label ID="lblUSER_TITLE" runat="server" Text='<%# Eval("USER_TITLE") %>'></asp:Label>
42 </ItemTemplate>
43 </asp:TemplateField>
44 <asp:TemplateField>
45 <HeaderStyle Width="10%" />
46 <HeaderTemplate>
47 目前狀況
48 </HeaderTemplate>
49 <ItemTemplate>
50 <asp:Label ID="lblUSER_N" runat="server" Text='<%# Eval("USER_N")%>'></asp:Label>
51 </ItemTemplate>
52 </asp:TemplateField>
53 <asp:TemplateField>
54 <HeaderStyle Width="10%" />
55 <HeaderTemplate>
56 承辦人
57 </HeaderTemplate>
58 <ItemTemplate>
59 <asp:Label ID="lblE_USER" runat="server" Text='<%# Eval("E_USER")%>'></asp:Label>
60 <asp:HiddenField ID="hfS_EXEC" runat="server" Value='<%#Eval("S_EXEC") %>' />
61 <asp:HiddenField ID="hfS_NO" runat="server" Value='<%#Eval("S_NO") %>' />
62 <asp:HiddenField ID="hfUSER_STATUS" runat="server" Value='<%#Eval("USER_STATUS") %>' />
63 <asp:HiddenField ID="hfSYSDAY" runat="server" Value='<%#Eval("SYSDAY") %>' />
64 <asp:HiddenField ID="hfSYSNO" runat="server" Value='<%#Eval("SYSNO") %>' />
65 </ItemTemplate>
66 </asp:TemplateField>
67 <asp:TemplateField>
68 <HeaderStyle Width="10%" />
69 <HeaderTemplate>
70 作業
71 </HeaderTemplate>
72 <ItemTemplate>//兩個按鈕的代碼
73 <asp:Button ID="btnUSER_STATUS" Width="100%" runat="server" CommandName="USER_STATUS" CommandArgument='<%# Bind("USER_STATUS") %>' Text='<%# Eval("USER_STATUS") %>' /><br />
74 <asp:Button ID="btnUSER_STATUS2" Width="100%" runat="server" CommandName="USER_STATUS2" CommandArgument='<%# Bind("USER_STATUS2") %>' Text='<%# Eval("USER_STATUS2") %>' />
75 </ItemTemplate>
76 </asp:TemplateField>
77 </Columns>
78 <HeaderStyle CssClass="tr2" />
79 <RowStyle CssClass="con" />
80 <AlternatingRowStyle CssClass="tr1 con" />
81 </asp:GridView>

 

View Code
 1 protected void gvData_RowCommand(object sender, GridViewCommandEventArgs e)
2 {
3 if (e.CommandName == "USER_STATUS" && e.CommandArgument.ToString() == "待辦案件")
4 {
5 GridViewRow gvr = (GridViewRow)((Control)e.CommandSource).Parent.Parent;//获得GridView中你点击的Button的那一行的索引
7 HiddenField hfS_NO = gvr.FindControl("hfS_NO") as HiddenField;
8 HiddenField hfS_EXEC = gvr.FindControl("hfS_EXEC") as HiddenField;
9 string S_NO = hfS_NO.Value;
10 string S_EXEC = hfS_EXEC.Value;
12 Response.Redirect("qcd_upd31.aspx?S_NO1=" + tbS_NO1.Text.Trim() + "&S_NO=" + S_NO + "&S_EXEC=" + S_EXEC);
13 }
14 if (e.CommandName == "USER_STATUS" && e.CommandArgument.ToString() == "未結案件")
15 {
16 common.CommonTool.ShowMessage(this, "sure", "未結案件");
17 }
18 if (e.CommandName == "USER_STATUS" && e.CommandArgument.ToString() == "已結案件")
19 {
20 common.CommonTool.ShowMessage(this, "sure", "已結案件");
21 }
22 if (e.CommandName == "USER_STATUS2" && e.CommandArgument.ToString() == "回信作業")
23 {
24 common.CommonTool.ShowMessage(this, "sure", "回信作業");
25 }
26 }

 

數據綁定應該都知道吧!有什么不明白欢迎留言。

posted @ 2012-01-17 10:00  追夢  阅读(3789)  评论(1编辑  收藏  举报
欢迎访问我的个人博客:三秋邦