2009-03-19 4 views
1

В моем представлении сетки, когда нажата кнопка, я хочу вставить эту строку в базу данных и в то же время сделать строку невидимой в представлении сетки. Я могу вставить в базу данных, но не могу сделать вставленную строку невидимой.Asp.net Grid View

 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

Вам может понадобиться, чтобы связать GridView с DataView вместо DataSet. Затем, когда вы добавляете обновление строки 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.DataSource = myDataTable 
gridView.DataBind() 

ПРИМЕЧАНИЕ. Я использую конвертер для преобразования кодов C# в VB. Надеюсь, все в порядке.

+0

Спасибо, но не могли бы вы расшириться с помощью кодов – abc