<Columns> <asp:TemplateField HeaderText="編輯">
<EditItemTemplate> '按下編輯模式時會出現的
<asp:LinkButton ID="LinkButtonUpdate" runat="server" CausesValidation="True" CommandName="Update"
Text="更新">asp:LinkButton>
<asp:LinkButton ID="LinkButtonCancel" runat="server" CausesValidation="False" CommandName="Cancel"
Text="取消">asp:LinkButton> EditItemTemplate>
<ItemTemplate> 'GridView時出現的
<asp:ImageButton ID="ImageButtonEdit" runat="server" CausesValidation="False" CommandName="Edit"
ToolTip="編輯" ImageUrl="image/edit.gif" PostBackUrl="MPersonal.aspx?EditMode=UPD#Tab002" />
ItemTemplate> asp:TemplateField>
2. 按下編輯鍵時的動作
Protected Sub GVQuery_RowEditing(ByVal sender As Object, ByVal e As......)
GVQuery.EditIndex = e.NewEditIndex '按下編輯後,設定是哪一行要啟用編輯模式
BindGridView() ’並且要重新再Bind一次GridView,否則會覺得要按兩次才會有作用
GVQuery.Rows(e.NewEditIndex).FindControl("TxtOnTheJobDate").Focus() '按下編輯後,設定游標停留的地方
3. 按下更新鍵時的動作 -----更新db作業 4. 按下取消鍵後
Protected Sub GVQuery_RowUpdating(ByVal sender As Object, ByVal e As .....)
'已經將要編輯資料改為Template的模式,所以用下述方法取出裡頭的資料
Dim strTxtOnTheJobDate As TextBox = Me.GVQuery.Rows(e.RowIndex).FindControl("TxtOnTheJobDate") Dim strCompID As Label = Me.GVQuery.Rows(e.RowIndex).FindControl("LabCompID")
Dim strClassKindID As DropDownList = Me.GVQuery.Rows(e.RowIndex).FindControl("DpClasskind")
Me.GVQuery.EditIndex = -1 '編輯更新後先取消編輯模式 BindGridView() 重新Load GridView 的資料
Protected Sub GVQuery_RowCancelingEdit(ByVal sender As Object, ByVal e As .......)
Me.GVQuery.EditIndex = -1'先取消編輯模式 BindGridView() 並重新Load GridView 的資料
End Sub
5. 設定在編輯模式下不可換頁,不然編輯的資料會帶到新的一行去,是錯的
Protected Sub GVQuery_PageIndexChanging(ByVal sender As Object, ByVal e As .....)
If Me.GVQuery.EditIndex <> -1 Then換頁時不可在編輯模式下
Dim message As String = " 在編輯模式下不可執行換頁功能!! "
Dim script As String = "alert ('" & message & "');"
Page.ClientScript.RegisterClientScriptBlock(Me.GetType, "mykey", script, True)
<
留言列表