• 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 }

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

    欢迎访问草根帮【https://www.caogenbang.top】 草根帮带你走向人生巅峰,迎娶白富美!!!
  • 相关阅读:
    MFC工作者线程
    【转】水煮TCPMP
    TCPMP的ARM编译器问题
    奇怪的链接警告-ole32.lib
    Stack overflow错误的一个原因
    旋转wince的桌面的函数
    ASNI to Unicode 转换与系统语言的问题
    WinCE 驱动开发问题精华集锦
    【转】OAL之系统时钟
    【转】蓝牙技术及其系统原理
  • 原文地址:https://www.cnblogs.com/koeltp/p/2324345.html
Copyright © 2020-2023  润新知