توضیحات و دانلود

دریافت CommandName و CommandArgument با کلیک کردن روی Button در رویداد RowCommand در GridView
0 0
دریافت CommandName و CommandArgument با کلیک کردن روی Button در رویداد RowCommand در GridView

با سلام در این مقاله با یک مثال توضیح خواهیم داد چگونه می توانید CommandName ، CommandArgument ، RowIndex و GridView Row داخل رویداد RowCommand هنگام استفاده از ButtonField و Click را هنگام استفاده از Button ، LinkButton و ImageButton در داخل ستون TemplateField از GridView با استفاده از C # و VB.Net انجام دهید  .
کد HTML
کد HTML زیر شامل یک کنترل GridView با سه ستون BoundField ، یک ستون ButtonField و یک ستون TemplateField است.
GridView با یک رویداد RowCommand مشخص شده است که با کلیک بر روی دکمه ستون ButtonField ، فعال می شود.
ستون TemplateField شامل یک کنترل دکمه است که با ویژگی های رویداد Click  handler و CommandName و CommandArgument مشخص شده است.

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" OnRowCommand="OnRowCommand">
    <Columns>
        <asp:BoundField DataField="Id" HeaderText="Id" />
        <asp:BoundField DataField="Name" HeaderText="Name" />
        <asp:BoundField DataField="Country" HeaderText="Country" />
        <asp:ButtonField Text="Select Row" CommandName="Button_Command" />
        <asp:TemplateField>
            <ItemTemplate>
            <asp:Button ID = "btnSelect" runat = "server" Text = "Select Row"
            OnClick = "Row_Selected" CommandName = '<%# Eval("Name") %>' CommandArgument = '<%# Eval("Id") %>' />
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

فضاهای نام
شما باید نامهای زیر را وارد کنید.
C #

using System.Data;

VB.Net

Imports System.Data

اتصال کنترل GridView
 یک DataTable پویا با برخی از داده های ساختگی ایجاد کرده ایم و از آن برای جمع آوری کنترل GridView در رویداد Page Load استفاده می شود.
C #

protected void Page_Load(object sender, EventArgs e)
{
    if (!this.IsPostBack)
    {
        DataTable dt = new DataTable();
        dt.Columns.AddRange(new DataColumn[3] { new DataColumn("Id"), new DataColumn("Name"), new DataColumn("Country") });
        dt.Rows.Add(1, "John Hammond", "United States");
        dt.Rows.Add(2, "Mudassar Khan", "India");
        dt.Rows.Add(3, "Suzanne Mathews", "France");
        dt.Rows.Add(4, "Robert Schidner", "Russia");
        GridView1.DataSource = dt;
        GridView1.DataBind();
    }
}

VB.Net

Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
    If Not Me.IsPostBack Then
        Dim dt As New DataTable()
        dt.Columns.AddRange(New DataColumn(2) {New DataColumn("Id"), New DataColumn("Name"), New DataColumn("Country")})
        dt.Rows.Add(1, "John Hammond", "United States")
        dt.Rows.Add(2, "Mudassar Khan", "India")
        dt.Rows.Add(3, "Suzanne Mathews", "France")
        dt.Rows.Add(4, "Robert Schidner", "Russia")
        GridView1.DataSource = dt
        GridView1.DataBind()
    End If
End Sub

دریافت رویداد CommandName ، CommandArgument ، RowIndex و GridView Row در داخل رویداد RowCommand
در داخل رویداد RowCommand ، ابتدا CommandName بارگیری می شود و سپس با استفاده از ویژگیRowIndex , CommandArgument  از GridView Row مشخص می شود.
در نهایت با استفاده از RowIndex ، مرجع GridView Row مشخص می شود.
C #

protected void OnRowCommand(object sender, GridViewCommandEventArgs e)
{
    //Get the Command Name.
    string commandName = e.CommandName;
 
    //Get the Row Index.
    int rowIndex = Convert.ToInt32(e.CommandArgument);
 
    //Get the Row reference in which Button was clicked.
    GridViewRow row = GridView1.Rows[rowIndex];
}

VB.Net

Protected Sub OnRowCommand(ByVal sender As Object, ByVal e As GridViewCommandEventArgs)
    'Get the Command Name.
    Dim commandName As String = e.CommandName
    'Get the Row Index.
    Dim rowIndex As Integer = Convert.ToInt32(e.CommandArgument)
    'Get the Row reference in which Button was clicked.
    Dim row As GridViewRow = GridView1.Rows(rowIndex)
End Sub

دریافت CommandName ، CommandArgument ، RowIndex و GridView Row در رویداد Button Click
در رویداد Button ، ابتدا دکمه ای که کلیک کرده است با استفاده از شیء فرستنده ارجاع می شود.
سپس با استفاده از مرجع Button ، ویژگی های CommandName و CommandArgument جمع می شوند.
مرجع GridView Row با استفاده از ویژگی دکمه NamaingContainer  تعیین می شود.
در نهایت با استفاده از مرجع GridView Row ، RowIndex مشخص می شود.
C #

protected void Row_Selected(object sender, EventArgs e)
{
    //Get the Button reference.
    Button btnSelect = (sender as Button);
 
    //Get the Command Name.
    string commandName = btnSelect.CommandName;
 
    //Get the Command Argument.
    string commandArgument = btnSelect.CommandArgument;
 
    //Get the Row reference in which Button was clicked.
    GridViewRow row = (btnSelect.NamingContainer as GridViewRow);
 
    //Get the Row Index.
    int rowIndex = row.RowIndex;
}

VB.Net

Protected Sub Row_Selected(ByVal sender As Object, ByVal e As EventArgs)
    'Get the Button reference.
    Dim btnSelect As Button = CType(sender, Button)
    'Get the Command Name.
    Dim commandName As String = btnSelect.CommandName
    'Get the Command Argument.
    Dim commandArgument As String = btnSelect.CommandArgument
    'Get the Row reference in which Button was clicked.
    Dim row As GridViewRow = CType(btnSelect.NamingContainer, GridViewRow)
    'Get the Row Index.
    Dim rowIndex As Integer = row.RowIndex
End Sub

 


دانلود
  • لینک های دانلود دوره های آموزشی تا پایان دوره قابل دانلود می باشد.
  • برای خارج کردن فایل ها از حالت فشرده از ورژن جدید نرم افزار winrar استفاده کنید.
  • برای خارج کردن فایل ها از حالت فشرده لینک های دانلودی که چندین قسمت می باشند فقط قسمت اول را از حالت فشرده خارج کنید.
  • لطفا توضیحات نوشته شده برای مطالب را با دقت بخوانید.
  • برای نمایش فیلم ها می توانید از نرم افزار هایی مانند Km Player , VLC Player یا Media Player Classic استفاده کنید.

ارسال نظر
ارسال پیام به :