chkbox(GV)btnpresd new tbl [英] chkbox(GV) btnpresd new tbl

查看:60
本文介绍了chkbox(GV)btnpresd new tbl的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个带有复选框的网格视图,每行3列(在数据库的表1中有字段)。现在当我选择一个按钮时,对应于复选框(选中)的数据行必须转到另一个预定义的table2数据库。请尽快帮助我。我需要C#.net中的详细信息。我从类继承。

I have a grid view with checkbox for every row of 3 column(having fields in table 1 of database).Now when i select a button ,the data row corresponding to the checkbox(selected) must go to another predefined table2 of database.Please help me soon .I need details in C#.net.I am inheriting from class.

推荐答案

这是一种方法,它基于对...的理解您的要求:



假设您在ASPX / ASCX中的HTML标记看起来与此类似:



Here is one approach, it is based on the understanding of your requirement:

Assuming that your HTML markup in ASPX / ASCX would look similar to this:

<asp:GridView ID="gvDemo" runat="server" AutoGenerateColumns="false"

 DataKeyNames="AppNo,SlNo">
   <Columns>
       <asp:TemplateField>
           <ItemTemplate>
               <asp:CheckBox ID="chkShortList" runat="server" />
           </ItemTemplate>
       </asp:TemplateField>
       <asp:TemplateField>
           <HeaderTemplate>
               SL No.
           </HeaderTemplate>
           <ItemTemplate>
               <%# Eval("SlNo") %>
           </ItemTemplate>
       </asp:TemplateField>
       <asp:TemplateField>
           <HeaderTemplate>
              Application No.
           </HeaderTemplate>
           <ItemTemplate>
               <%# Eval("AppNo") %>
           </ItemTemplate>
       </asp:TemplateField>
   </Columns>
 </asp:GridView>
 <asp:Button ID="btnShortList" runat="server" Text="ShortList"

       onclick="btnShortList_Click" />





和填充数据并读取所选行的C#代码从网格视图将是这样的:





and the C# code behind to populate the data and read the selected rows from the grid view would be like this:

protected void Page_Load(object sender, EventArgs e)
      {
          if (!IsPostBack)
          {
              Bind();
          }
      }

      protected void btnShortList_Click(object sender, EventArgs e)
      {
          DataTable dtSelected = new DataTable();

          dtSelected = GetSelectedApplications();  //Here you will get the selected rows Application Number

          //Call Stored Procedure to send the DataTable for Update Operation

          // ..

          // and so on
      }




      /// <summary>
      /// Binds the data to the grid view
      /// This is purely for demonstration purpose
      /// You can add actual logic to Read and Poulate the data
      /// </summary>
      private void Bind()
      {
          DataTable dtAppData = GetApplicationData();
          gvDemo.DataSource = dtAppData;
          gvDemo.DataBind();
      }


      /// <summary>
      /// Returns the Application Data from Database
      /// </summary>
      /// <returns></returns>
      private static DataTable GetApplicationData()
      {
          DataTable dtAppData = new DataTable();
          dtAppData.Columns.Add("AppNo");
          dtAppData.Columns.Add("SlNo");

          //To simulate actual data from database
          Random r = new Random(1000);
          for (int i = 0; i < 10; i++)

          {

              int temp = r.Next(1000, 9999);

              DataRow row = dtAppData.NewRow();

              row["AppNo"] = temp;

              row["SlNo"] = temp + 1;

              dtAppData.Rows.Add(row);

          }





          return dtAppData;

      }







      /// <summary>
      /// Returns all the selected rows (Rows with Checked Checkboxes) Application Number
      /// as DataTable
      /// </summary>
      /// <returns></returns>
      private DataTable GetSelectedApplications()
      {
          DataTable dtSelected = new DataTable();
          dtSelected.Columns.Add("AppNo");

          for (int i = 0; i < gvDemo.Rows.Count; i++)

          {

              DataRow rowSelected = dtSelected.NewRow();

              CheckBox chkShortList = gvDemo.Rows[i].FindControl("chkShortList") as CheckBox;

              if (chkShortList != null && chkShortList.Checked)

              {

                  int appNo = 0;

                  if (gvDemo.DataKeys[i].Values["AppNo"] != DBNull.Value)

                      appNo = int.Parse(gvDemo.DataKeys[i].Values["AppNo"].ToString());



                  rowSelected["AppNo"] = appNo;

              }



              //Add Row In the datatable

              dtSelected.Rows.Add(rowSelected);

          }



          return dtSelected;

      }







希望这有帮助,

谢谢




Hope this helps,
Thanks


这篇关于chkbox(GV)btnpresd new tbl的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆