正 文

在你的ASP.NET的DataGrid里使用自定义的按钮


www.7dspace.com  更新日期:2005-12-2 3:17:38  七度空间


这个代码段被放在ASP.NET页面开头的部分里。我们将我们的OnItemCreated方法命名为dgItemCreated,下面的DataGrid定义详细地解释了它:

<asp:DataGridautogeneratecolumns="False" id="dg" runat="server" Width="607px"
OnItemCreated="dg_ItemCreated">
<Columns>
<asp:BoundColumnDataField="fName" HeaderText="First Name" />
<asp:BoundColumnDataField="lName" HeaderText="Last Name" />
<asp:ButtonColumnCommandName="builder" ButtonType="PushButton"
Text="Builder.com" />
</Columns>
</asp:DataGrid>

ButtonColumn被定义为按钮;这个按钮现在必须同JavaScript函数捆绑在一起。这是使用dg_ItemCreated方法(它在OnItemCreated属性里被指定)实现的。这个方法有下列定义:

Private Sub dg_ItemCreated(ByVal s As Object, ByVal e As DataGridItemEventArgs)
Select Case e.Item.ItemType
Case ListItemType.Item, ListItemType.AlternatingItem, ListItemType.EditItem
Dim tstButton As Button
tstButton = e.Item.Cells(2).Controls(0)
tstButton.Attributes.Add("onclick","confirmIt();")
End Select
End Sub

要注意方法的签名——Object和DataGridItemEventArgs,因为这个方法必须按照这种格式才能够正常工作。方法在项目被添加给DataGrid的时候被触发。Select陈述式会选择被创建项目,也就是行(行、交错行,或者编辑行)。然后,包含按钮的表格单元格被访问(二号单元格,因为是从零开始算起的)。通过Button对象的Attributes属性的Add方法,JavaScript函数被分配给按钮。

JavaScript非常适合于简单的客户端函数,但是常常需要基于服务器的处理。

启动服务器代码

操作服务器代码的方式就和操作JavaScript代码的类似,所以现在让我们来更仔细地看看。操作服务器端的函数,就要使用ButtonColumn元素的CommandName属性。分配给这个属性的值被用来确定哪种按钮被选中。此外,也用到了 OnItemCommand属性。下面的DataGrid定义被用来说明这个方法:

<asp:DataGridautogeneratecolumns="False" id="dg"
runat="server" OnItemCommand="dg_ItemCommand">
<Columns>
<asp:BoundColumnDataField="fName" HeaderText="First Name" />
<asp:BoundColumnDataField="lName" HeaderText="Last Name" />
<asp:ButtonColumnCommandName="builder" ButtonType="PushButton"
Text="Builder.com" />
</Columns>
</asp:DataGrid>

Dg_ItemCommand方法的代码如下:

Sub dg_ItemCommand(ByVal s As Object, ByVal e As DataGridCommandEventArgs)
If (e.CommandName = "builder") Then
Response.Redirect("http://builder.com.com/")
End If
End Sub

方法签名很重要;这也就是说,它必须如所示的被使用。这个方法非常简单(它向用户发送另一个Web网站),但是它说明了如何确定按钮在什么时候被选中。第二个方法的参数(DataGridCommadnEventArgs)的CommandName属性包含有被选中的元素(按钮)的名称。一个简单的If陈述式被用来引导代码的执行。

这段简单的代码可以很容易就被更加强健的陈述式替代,这样的陈述式可以同后端数据库进行交互操作、更改用于界面的外观,或者进行所需要的事情。

开始工作

DataGrid元素所提供的强大功能和灵活性,简化了创建用户友好的全功能应用程序的过程。你可以轻易地通过加入按钮来增加额外的功能,而这可以只用鼠标点击就完成。

本文作者Tony Patton的职业生涯开始于应用程序开发员,并已经获得了Java、VB、Lotus和XML的认证,以增加其专业知识。

2页,页码:[1] [2] 

上一篇:给你的ASP.NET应用程序加入日历的功能
下一篇:巧用Norton8来修复你的坏硬盘
作者:Tony Patton  来源:开发者在线 ( 责任编辑:7dspace )
收藏此页】【打印】【关闭
站 内 搜 索
 

热 点 导 读
特 别 推 荐