EditCommandColumn 最主要的功能是利用LinkButton 或PushButton 來下達編輯資料的命令,并且可以觸發DataGrid Web 控件的事件。EditCommandColumn 進入編輯模式的時候會產生TextBox 讓使用者編輯,也可以和TemplateColumn 一起配合使用,我們后面介紹TemplateColumn 的時候會說明。其使用語法如下所示:
<ASP:EditCommandColumn
ButtonType="LinkButton | PushButton"
CancelText="CancelButtonCaption"
EditText="EditButtonCaption"
FooterText="FooterText"
HeaderImageUrl="url"
HeaderText="HeaderText"
ReadOnly="True | False"
SortField="DataSourceFieldToSortBy"
UpdateText="UpdateButtonCaption"
Visible="True | False"
/>
<%@Import Namespace=System.Data.ADO%>
<%@Import Namespace=System.Data%>
<!--#Include File="GetTable.inc"-->
<Html>
<Form Runat="Server">
<ASP:DataGrid Id="dgA" AllowPaging="True" PageSize="5"
OnPageIndexChanged="dgA_PageChg" Runat="Server"
PagerStyle-Mode="NumericPages" BorderColor="#808080"
HeaderStyle-Font-Names="Courier New"
HeaderStyle-BackColor="#D1DCEB"
HeaderStyle-Font-Bold="True" HeaderStyle-HorizontalAlign="Center"
OnEditCommand="dgA_ECmd" OnUpdateCommand="dgA_UCmd"
OnCancelCommand="dgA_CCmd" >
<Property Name="Columns">
<ASP:BoundColumn
HeaderText="姓名"
DataField="UserName"/>
<ASP:BoundColumn
HeaderText="電話"
DataField="UserTel"/>
<ASP:EditCommandColumn
HeaderText="編輯"
ButtonType="PushButton"
EditText="編輯"
UpdateText="更新"
CancelText="放棄"/>
</Property>
</ASP:DataGrid>
</Form>
<ASP:Label Id="Label1" Runat="Server"/>
<Script Language="VB" Runat="Server">
Dim dtDataTable As DataTable=GetTable("CH08\MyWeb.mdb", "Members")
Sub Page_Load(Sender As Object, e As EventArgs)
If Page.IsPostBack=False Then
dgA.DataSource=dtDataTable.DefaultView
Page.DataBind()
End If
End Sub
Sub dgA_PageChg(Sender As Object, e As DataGridPageChangedEventArgs)
dgA.DataSource=dtDataTable.DefaultView
Page.DataBind()
End Sub
Sub dgA_ECmd(Sender As Object, e As DataGridCommandEventArgs)
Label1.Text="您點選了第" & (e.Item.ItemIndex+1).ToString & " 個字
段的編輯."
dgA.EditItemIndex=e.Item.ItemIndex
dgA.DataSource=dtDataTable.DefaultView
Page.DataBind()
End Sub
Sub dgA_UCmd(Sender As Object, e As DataGridCommandEventArgs)
Label1.Text="您點選了第" & (e.Item.ItemIndex+1).ToString & " 個字
段的更新."
dgA.EditItemIndex=-1
dgA.DataSource=dtDataTable.DefaultView
Page.DataBind()
End Sub
Sub dgA_CCmd(Sender As Object, e As DataGridCommandEventArgs)
Label1.Text="您點選了第" & (e.Item.ItemIndex+1).ToString & " 個字
段的放棄."
dgA.EditItemIndex=-1
dgA.DataSource=dtDataTable.DefaultView
Page.DataBind()
End Sub
</SCRIPT>
</Html>
Sub dgA_ECmd(Sender As Object, e As DataGridCommandEventArgs)
Label1.Text="您點選了第" & (e.Item.ItemIndex+1).ToString & " 個字
段的編輯."
dgA.EditItemIndex=e.Item.ItemIndex
dgA.DataSource=dtDataTable.DefaultView
Page.DataBind()
End Sub
原文轉自:http://www.anti-gravitydesign.com