3

私はC#に慣れていないので、質問の仕方が正しくない場合は申し訳ありません。

グリッド ビューにボタンを追加しました。C# のボタン コーディングに対して特定のアクションを実行したいのですが、ボタンをクリックできないため、ボタン イベントに対してコードを記述できません。

グリッドのボタンイベントに対するコードの書き方を教えてください???

ここに私のコーディングがあります:

 <asp:TemplateField>
                    <ItemTemplate>
                        <asp:Button ID="btnDecline" runat="server" Text="Decline"  onrowcommand="decline" />
                    </ItemTemplate>
                </asp:TemplateField>

ここにC#コーディングがあります:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Sherserve.BusinessLogicLayer;
using Sherserve.CustomTypeLayer;

namespace SherserveLeaveManagementSystem
{
    public partial class LMSAdminPanel : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!this.IsPostBack)
            {
                LMSManager leavestatus = new LMSManager();
                int emplid = Convert.ToInt32(Session["EmployeeID"]);
                List<EmployeeLeave> leaverecord = leavestatus.GetLeaveRecord(emplid);
                GridView1.DataSource = leaverecord;
                GridView1.DataBind();







            }
        }

        protected void GridView1_PageIndexchanging(object sender, GridViewPageEventArgs e)
        {

            LMSManager leavestatus = new LMSManager();
            int emplid = Convert.ToInt32(Session["EmployeeID"]);
            List<EmployeeLeave> leaverecord = leavestatus.GetLeaveRecord(emplid);
            GridView1.DataSource = leaverecord;
            GridView1.PageIndex = e.NewPageIndex;
            GridView1.DataBind();
        }

        protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
        {

        }


    }
}

私は c# の初心者です。質問の仕方が長いか正しくないかどうか気にしないでください。

ありがとう

4

2 に答える 2

1

次のように commandname プロパティを使用します (この場合は選択、削除)。

<asp:GridView ID="EntityGridView" runat="server" DataKeyNames="Id" DataSourceID="EntityListDataSource"
    AutoGenerateColumns="False" AllowPaging="True" AllowSorting="True" SkinID="GridViewSmall"
    OnRowCommand="EntityGridView_RowCommand" 
    OnPageIndexChanged="EntityGridView_PageIndexChanged"
    OnSorting="EntityGridView_Sorting">
    <Columns>
        <asp:TemplateField ItemStyle-CssClass="TemplateFieldTwoColumns">
            <ItemTemplate>
                <asp:ImageButton ID="btnView" runat="server" ToolTip="<% $resources:AppResource,Edit %>" SkinID="EditPage" CommandName="Select" CommandArgument='<%# Eval("Id") %>' />
                <asp:ImageButton ID="btnDelete" runat="server" ToolTip="<% $resources:AppResource,Delete %>" SkinID="DeletePage" OnClientClick="<%# GetDeleteConfirmation() %>" CommandName="Delete" CommandArgument='<%# Eval("Id") %>' />
            </ItemTemplate>
        </asp:TemplateField>
        <asp:BoundField DataField="Title" HeaderText="<% $resources:AppResource,Title %>" SortExpression="Title" />
    </Columns>
</asp:GridView>

イベントに接続する方法は次のとおりです。

    protected void EntityGridView_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "Select")
        {
             //do something on select...                
        }
    }
于 2012-09-03T11:47:24.583 に答える
0

詳細については、これを参照して ください http://www.dreamincode.net/forums/topic/184448-using-gridview-and-rowcommand-events/

protected void myGV_RowCommand(Object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "click1")
        {
            int index = Convert.ToInt32(e.CommandArgument); //get row number selected
            GridViewRow row = GridView1.Rows[index]; 
            Go ahead do something like above 

        }

        if (e.CommandName == "click2")
        {
            Do something cool ... 
        }
    }
于 2012-09-03T11:48:16.883 に答える