在c#.net中编辑动态gridview的选项 [英] Edit option for dynamic gridview in c#.net

查看:117
本文介绍了在c#.net中编辑动态gridview的选项的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有动态gridview我需要编辑,删除gridview的选项,就像静态gridview一样。我工作但我没有得到OP。请帮助我。看完整个代码看起来很奇怪但是我别无选择

I have dynamic gridview I need Edit,delete option for gridview as like static gridview. I worked but I am not getting the OP. Any one help me please.Its look like odd to post entire code but i have no choice

public void BuildBranches()
{
    DataTable dtBranches = new DataTable();
    divBranches.Controls.Clear();
    objsupplyPL.username = Session["username"].ToString();
    dtBranches = objsupplyBAL.GetHOEnteredBranches(objsupplyPL);
    if (dtBranches.Rows.Count > 0)
    {
        for (int i = 0; i < dtBranches.Rows.Count; i++)
        {

            DataTable dtIndentDetails = new DataTable();
            string branches=dtBranches.Rows[i]["branch"].ToString();
            objsupplyPL.branch = branches;
            dtIndentDetails = objsupplyBAL.GetStock(objsupplyPL);

            Table tbldynamic = new Table();
            TableRow tr = new TableRow();
            TableCell tc = new TableCell();


            GridView gv = new GridView();
            gv.ID = "gv" + dtBranches.Rows[i]["branch"].ToString();
            gv.Width = 500;

            BoundField bfsno = new BoundField();
            bfsno.HeaderText = "S.No";
            bfsno.DataField = "sno";
            gv.Columns.Add(bfsno);

            BoundField bfpurchaseid = new BoundField();
            bfpurchaseid.HeaderText = "Productid";
            bfpurchaseid.DataField = "productid";
            gv.Columns.Add(bfpurchaseid);

            BoundField bfProductId = new BoundField();
            bfProductId.HeaderText = "Product Name";
            bfProductId.DataField = "productname";
            gv.Columns.Add(bfProductId);


            BoundField bfIssue = new BoundField();
            bfIssue.HeaderText = "Issue";
            gv.Columns.Add(bfIssue);

            BoundField bfgrno = new BoundField();
            bfgrno.HeaderText = "Transfer";
            gv.Columns.Add(bfgrno);


            gv.DataKeyNames = new string[]
            {
                "keys","branch"
            };


            gv.RowDataBound += new GridViewRowEventHandler(gv_RowDataBound);
            gv.RowCommand += new GridViewCommandEventHandler(gv_RowCommand);

            gv.AutoGenerateColumns = false;
            gv.EmptyDataText = "No Records Found";
            gv.DataSource = dtIndentDetails;
            gv.DataBind();
            divBranches.Controls.Add(tbldynamic);
            divBranches.Controls.Add(gv);

            LiteralControl @break1 = default(LiteralControl);
            @break1 = new LiteralControl("<br />");
            divBranches.Controls.Add(@break1);

        }


        }
    }




protected void gv_RowDataBound(object sender, GridViewRowEventArgs e)
  {
      if (e.Row.RowType == DataControlRowType.DataRow)
      {
          TemplateField tfLink = new TemplateField();
          Button lnk = new Button();
          lnk.Text = "Issue";
          lnk.CommandName = "issue";


          lnk.Click += new EventHandler(MPIssue_Click);
          e.Row.Cells[4].Controls.Add(lnk);

          TemplateField tfTransfer = new TemplateField();
          Button btnTransfer = new Button();
          btnTransfer.Text = "Transfer";
          btnTransfer.CommandName = "transfer";

          btnTransfer.Click += new EventHandler(MPTransfer_Click);
          e.Row.Cells[5].Controls.Add(btnTransfer);
      }
  }




protected void gv_RowCommand(object sender, GridViewCommandEventArgs e)
  {
       if (e.CommandName.ToUpper() == "ISSUE")
      {

          GridViewRow row = (GridViewRow)((Button)e.CommandSource).NamingContainer;

          lbl_Prod.Text = row.Cells[1].Text.ToString();
          lbl_Quant.Text = row.Cells[3].Text.ToString();

          lbl_Fprod.Text = row.Cells[1].Text.ToString();
          lbl_Fsquant.Text = row.Cells[3].Text.ToString();

          Button Btn = (Button)e.CommandSource;
          GridViewRow myRow = (GridViewRow)Btn.Parent.Parent;
          GridView myGrid = (GridView)sender;

          hd_sno1.Value = myGrid.DataKeys[myRow.RowIndex].Values[0].ToString(); //getting data
          hd_branch.Value = myGrid.DataKeys[myRow.RowIndex].Values[1].ToString();//getting
      }
  }





到这里工作正常



Up to here Its working fine

推荐答案

请看下面的代码。最后一行是最重要的



Please have a look at below code. Last line is most important

CommandField cf = new CommandField();
cf.ButtonType = ButtonType.Button;
cf.ShowCancelButton = true;
cf.ShowEditButton = true;
gv.Columns.Add(cf);


这篇关于在c#.net中编辑动态gridview的选项的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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