2013-10-10 52 views
2
GridView gv = new GridView(); 

    BoundField farmername = new BoundField(); 
    farmername.HeaderText = "Farmer Name"; 
    farmername.DataField = "farmername"; 
    gv.Columns.Add(farmername); 


    BoundField villagename = new BoundField(); 
    villagename.HeaderText = "Village Name"; 
villagename.DataField = "village"; 
gv.Columns.Add(villagename); 

    BoundField feedtype = new BoundField(); 
    feedtype.HeaderText = "Feed Type"; 
    feedtype.DataField = "feedtype"; 
    gv.Columns.Add(feedtype); 


    BoundField bf50kg = new BoundField(); 
    bf50kg.HeaderText = "50 Kg Bags"; 
    bf50kg.DataField = "noof50kgsbags"; 
    gv.Columns.Add(bf50kg); 

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

    gv.RowEditing += new GridViewEditEventHandler(gv_RowEditing); 
    gv.RowUpdating += new GridViewUpdateEventHandler(gv_RowUpdating); 
    gv.RowCancelingEdit += new GridViewCancelEditEventHandler(gv_RowCancelingEdit); 

    gv.AutoGenerateColumns = false; 
    gv.ShowFooter = true; 
    gv.DataSource = dtIndentDetails; 
    gv.DataBind(); 

當我點擊編輯按鈕,它沒有分裂成更新,取消按鈕。我怎樣才能做到這一點與命令字段。如果我在aspx頁面添加GridView控件,它的分裂更新和取消如何在asp.net中以編程方式編輯gridview?

+1

你見過這個答案嗎? http://stackoverflow.com/questions/206983/putting-a-gridview-row-in-edit-mode-programmatically和這一個:http://stackoverflow.com/questions/16280495/gridview-edit-mode-programatically – Robert

+0

這些鏈接是沒有用的我的代碼...羅伯特你可以說另一種方式 – Sambasiva

回答

1

試試下面的代碼:

protected void gridview_RowEditing(object sender, GridViewEditEventArgs e) 
{ 
    GridView gv = (GridView)sender; 
    // Change the row state 
    gv.Rows[e.NewEditIndex].RowState = DataControlRowState.Edit; 

} 
+0

編輯按鈕不是在這裏被解僱... – Sambasiva

1

想你的代碼,發現它的工作。 注意以下幾點:

1.)代碼創建GridView(和所有字段)應該每次執行。意味着從該代碼中刪除任何!IsPostback條件,如果存在任何條件。

2.)在您的gridview的RowEditing事件中設置editindex並重新綁定gridview。

protected void gv_RowEditing(object sender, GridViewEditEventArgs e) 
    { 
     GridView gv = sender as GridView; 
     gv.EditIndex = e.NewEditIndex; 
     gv.DataBind(); 
    }