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

دریافت شاخص(Index)ردیف در رویدادهای RowCommand و کلیک GridView درASP.Net
0 0
دریافت شاخص(Index)ردیف در رویدادهای RowCommand و کلیک GridView درASP.Net

با سلام در این مقاله با مثال توضیح خواهیم داد که چگونه GridView Row را رد و GridView Row Index را پیدا کنید زمانی که  دکمه، ImageButton و LinkButton داخل کنترل GridView با استفاده از C # و VB.Net درASP.Net کلیک کنید.

همچنین چگونگی خواص چندگانه CommandArgument را در کنترل GridView و نحوه بارگیری خواص چندگانه CommandArgument در رویدادهای کلیک Button را توضیح خواهیم داد
GridView Row و GridView Row Index را در رویداد RowCommand دریافت کنید
کد HTML
کد HTML شامل کنترل ASP.Net GridView ساده با ButtonField است و با رویداد OnRowCommand اختصاص داده شده است.

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" 
    OnRowCommand="OnRowCommand">
 <Columns>
  <asp:ButtonField CommandName="ButtonField" DataTextField="CustomerID"
        ButtonType="Button"/>
 </Columns>
</asp:GridView> 

کد
در داخل رویداد پردازنده OnRowCommand ASP.Net GridView، ابتدا RowIndex از ویژگی Property CommandArgument گرفته شده و سپس با استفاده از RowIndex ، مرجع GridView Row تعیین می شود.
C #

protected void OnRowCommand(object sender, GridViewCommandEventArgs e)
{
    int index = Convert.ToInt32(e.CommandArgument);
    GridViewRow gvRow = GridView1.Rows[index]; 
}

VB.Net

Protected Sub OnRowCommand(ByVal sender As Object, ByVal e As GridViewCommandEventArgs)
    Dim index As Integer = Convert.ToInt32(e.CommandArgument)
    Dim gvRow As GridViewRow = GridView1.Rows(index)
End Sub

دریافت ردیف GridView و ردیف شاخص GridView در روی کلیک رویداد دکمه در TemplateField
کد HTML
کد HTML شامل کنترل ASP.Net GridView ساده با یک دکمه در TemplateField است که در رویداد OnClick قرار دارد.

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
    <Columns>
        <asp:TemplateField>
        <ItemTemplate>
           <asp:Button ID="Button1" runat="server" Text='<%#Eval("CustomerID")%>'
                  CommandArgument="Button1" OnClick="Button1_Click" />
        </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

کد
در داخل رویداد پردازنده دکمه OnClick ، ابتدا GridView Row با استفاده از ویژگی Parent ارجاع می شود و سپس با استفاده از مرجع GridView Row، RowIndex ، GridView ردیف تعیین میشود.
در اینجا فرستنده مرجع دکمه است که روی آن کلیک شده است، منشا سلول GridView  و منشا سلول GridView در GridView ردیف است.
این رویکرد را می توان برای LinkButton و ImageButton استفاده کرد.
C #

protected void Button1_Click(object sender, EventArgs e)
{
    GridViewRow gvRow = (GridViewRow)(sender as Control).Parent.Parent;
    int index = gvRow.RowIndex;
}

VB.Net

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs)
    Dim gvRow As GridViewRow = CType(CType(sender, Control).Parent.Parent, _
                                        GridViewRow)
    Dim index As Integer = gvRow.RowIndex
End Sub

دستور CommandArgument را بر روی Event Button در TemplateField دریافت کنید
 کد HTML
کد HTML شامل کنترل ASP.Net GridView ساده با یک دکمه در TemplateField است که در رویداد OnClick قرار دارد.
Button با خواص CommandName و CommandArgument تنظیم شده است.

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
    <Columns>
        <asp:TemplateField>
        <ItemTemplate>
           <asp:Button ID="Button1" runat="server" Text='<%#Eval("CustomerID")%>' CommandName="Button1_Name" CommandArgument="Button1_Argument" OnClick="Button1_Click" />
        </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

کد
در داخل رویداد پردازنده Button Click ، ابتدا دکمه با استفاده از فرستنده ارجاع می شود و سپس از Object Button می توان خواص CommandName و CommandArgument را دریافت کرد.
این همان رویکرد را می توان برای LinkButton و ImageButton استفاده کرد.
C #

protected void Button1_Click(object sender, EventArgs e)
{
    Button btn = (Button)sender;
    string CommandName = btn.CommandName;
    string CommandArgument = btn.CommandArgument;
}

VB.Net

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs)
   Dim btn As Button = CType(sender, Button)
   Dim CommandName As String = btn.CommandName
   Dim CommandArgument As String = btn.CommandArgument
End Sub   

 دکمه CommandArgument با مقادیر متعدد
کد HTML
کد HTML شامل کنترل ASP.Net GridView ساده با یک دکمه در TemplateField است که در رویداد OnClick قرار دارد.
مقادیر چندگانه را می توان در ویژگی CommandArgument یک دکمه با ترکیب چندین مقادیر با استفاده از جدا کننده تنظیم کرد.
بعدها ارزش ها را می توان از طریق تقسیم رشته پیوند شده با استفاده از تابع Split از کلاس String جدا کرد .

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
    <Columns>
        <asp:TemplateField>
        <ItemTemplate>
         <asp:Button ID="Button1" runat="server" Text='<%#Eval("CustomerID")%>'
          CommandArgument=
          '<%#Eval("PostalCode") + "," + Eval("City") + "," + Eval("Country") %>' 
              OnClick="Button1_Click" />
        </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

کد
در داخل رویداد Button Click ، ابتدا دکمه با استفاده از شی فرستنده ارجاع می شود و سپس از شی Object Button object property of CommandArgument منتقل می شود.
مقدار CommandArgument با استفاده از تابع تقسیم کلاس String به مقادیر چندتایی تقسیم می شود.
C #

protected void Button1_Click(object sender, EventArgs e)
{
    Button btn = (Button)sender;
    string[] CommandArgument = btn.CommandArgument.Split(',');
    string CommandArgument1 = CommandArgument[0];
    string CommandArgument2 = CommandArgument[1];
    string CommandArgument3 = CommandArgument[2];
}

VB.Net

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs)
   Dim btn As Button = CType(sender, Button)
   Dim CommandName As String = btn.CommandName
   Dim CommandArgument As String() = btn.CommandArgument.Split(",")
   Dim CommandArgument1 As String = CommandArgument(0)
   Dim CommandArgument2 As String = CommandArgument(1)
   Dim CommandArgument3 As String = CommandArgument(2)
End Sub

 


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

لینک های دانلود

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