2011-09-13 7 views
3

私のページにグリッドがあります。グリッドビューを更新して新しいレコードを追加して削除する必要がありますか?ここCで新しいレコードを追加または削除した後にgridviewをリフレッシュする#

はコードです:

は、GridViewコントロールに行を追加します。

private void AddClientToGrid() 
    { 
     int clientID = int.Parse(ddlClient.SelectedValue); 
     int clientTypeID = int.Parse(ddlClientType.SelectedValue); 
     ClientsAllCDO client = new ClientsBL().ClientsAllSelectByIDAndClientTypeID(clientID, clientTypeID); 
     List<ClientsAllCDO> clientList = new List<ClientsAllCDO>(); 
     clientList = GetClientsFromGrid(); 
     clientList.Add(client); 
     gvClient.DataSource = clientList; 
     gvClient.DataBind(); 
    } 

削除コード:

protected void btnDeleteClient_Click(object sender, EventArgs e) 
    { 
     LinkButton btnDeleteClient = sender as LinkButton; 
     int rowIndex = int.Parse(btnDeleteClient.Attributes["RowIndex"]); 
     if (Request.QueryString["BailiffID"] == null) 
     { 
      gvClient.DeleteRow(rowIndex); 
     } 
     else 
     { 
      int bailiffID = int.Parse(FormCrypto.Decrypt(Request.QueryString["BailiffID"])); 
      GridViewRow gvRow = gvClient.Rows[rowIndex]; 
      int clientTypeID = int.Parse(((Label)gvRow.FindControl("lblClientTypeID")).Text); 
      int clientID = int.Parse(((Label)gvRow.FindControl("lblClientID")).Text); 
      gvClient.DeleteRow(rowIndex); 
      new BailiffClientsBL().BailiffClientDelete(clientID, bailiffID, clientTypeID); 
     }   
    } 

をおかげでたくさん...

答えて

3

あなたは、グリッドを再バインドする必要がありますデータソース:

//delete row from the database 

GridView1.DataSource = SomeDataRetrievalMethod(); //retrieve the data from the database 
GridView1.DataBind(); 
+0

DBからすべてのデータを取得する場合はあなたの権利がありますが、この方法では動作しません最初のデータグリッドを挿入してからdbを更新すると新しいデータが失われる可能性があります... thx again .. –

+0

私はrowdataboundしかし、データがリフレッシュされていません...理由は誰でも知っているでしょう –

+0

問題が解決しました...私は、更新パネルの内部にグリッドを置いて完了... –

関連する問題