2009-03-19 13 views
1

グリッドビューで、ボタンをクリックすると、その行をデータベースに挿入すると同時に、グリッドビューに行が見えなくなります。 データベースに挿入することはできますが、挿入された行を非表示にすることはできません。 Asp.netグリッドビュー

 Dim PayID As Integer = (e.CommandArgument) 
     Dim EmpID As Integer = (e.CommandArgument) 
     Dim EID As Integer = CType(Dg1.DataKeys(EmpID).Values("EmpID"), Integer) 
     Dim PID As Integer = CType(Dg1.DataKeys(PayID).Values("PayID"), Integer) 

     cmd.CommandText = "Insert into EmployDetails(EmpID,PayID,PayDate) 
     Values(" & EID & " ," & PID & ",GetDate())" 
     cmd.ExecuteNonQuery() 

はあなたが

+0

あなたのコードを教えてください。 – Cerebrus

答えて

1

あなたが代わりにデータセットのDataViewにGridViewコントロールをバインドする必要があるかもしれませんありがとうございました。次に、行を追加するとDataViewが更新され、新しい行が除外されます。

1

DBに行を挿入した後、関連するレコードをデータソース(datatable、dataview)から削除し、gridviewを再バインドする必要があります。

EDIT:あなたの挿入操作の後

1.があなたのデータソースから自分の削除関連の行を取る:

Dim insertedRows As DataRow() = myDataTable.Select("ID = " & id) 

For Each dr As DataRow In insertedRows 

    myDataTable.Rows.Remove(dr) 

Next 

2.そして、その再後にバインド:gridview:

gridView.DataSource = myDataTable 
gridView.DataBind() 

注:コンバータを使用してコードC#をVBに変換します。希望は、それは大丈夫です。

+0

ありがとうございます。 – abc

関連する問題