帝国软件
  设为首页 加入收藏 关于我们
 
解密帝国网站管理系统
栏 目:
 
您的位置:首页 > 技术文档 > ASP.NET编程
EditCommandColumn
作者:佚名 发布时间:2005-04-02 来源:不详
 


    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"
/>

其中除了共同基础属性以及样式对象外,常用的属性如下表所示:
    当使用者点选了显示EditText 的控件时,DataGrid Web 控件会自动触发OnEditCommand 事件,并执行OnEditCommand 属性所指定的事件程序;倘若点选了显示UpdateText 以及CancelText 内容的控制像,也一样分别自动触发OnUpdateCommand 以及OnCancelCommand 事件。下列程序代码范例增加了一个EditCommandColumn 字段,并且显示使用者点选了哪一个按钮:

<%@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("CH08MyWeb.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>


    上述范例中,由于DataTable 对象要让其它事件程序使用,所以我们在网页阶层的宣告区宣告。我们也指定了OnEditCommand 事件、OnUpdateCommand 事件以及OnCancelCommand 事件;当使用者按下「编辑」按钮时会自动触发我们所指定的dgA_ECmd 事件程序,如下程序代码范例所示:

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

    上述程序代码片段将DataGrid 的EditItemIndex 属性设定为使用者所点选记录的索引值,所以该笔记录就会进入编辑模式;此时原来字段内的「编辑」按钮就会变成「更新」以及「放弃」。使用者若编辑完毕后再点选「更新」或「放弃」按钮时,即触发所指定的OnUpdateCommand 或是OnCancelCommand 事件;这些事件最后将DataGrid 对象的EditItemIndex 属性设为-1,表示没有任何项目被编辑,让数据回复到原来的显示模式。如下图所示:
 
 
  
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·利用Editplus2的用户工具功能来即  (2005-03-11)

   栏目导行
  PHP编程
  ASP编程
  ASP.NET编程
  JAVA编程
   站点最新
·致合作伙伴的欢迎信
·媒体报道
·帝国软件合作伙伴计划协议
·DiscuzX2.5会员整合通行证发布
·帝国CMS 7.0版本功能建议收集
·帝国网站管理系统2012年授权购买说
·PHPWind8.7会员整合通行证发布
·[官方插件]帝国CMS-访问统计插件
·[官方插件]帝国CMS-sitemap插件
·[官方插件]帝国CMS内容页评论AJAX分
   类别最新
·ASP.NET中为DataGrid添加合计字段
·.text urlRewrite介绍
·利用 ASP.NET 的内置功能抵御 Web
·ASP.NET Cache
·用 WebClient.UploadData 方法 上载
·ASP.NET 程序设计-序
·什么是客户端/伺服端(Client/Serve
·因特网应用程序的开发
·网页的种类
·.NET Framework-Microsoft Visual
 
关于帝国 | 广告服务 | 联系我们 | 程序开发 | 网站地图 | 留言板 帝国网站管理系统