Insus.NET为了演示这个例子,首先准好数据,创建一个类别
Imports Microsoft.VisualBasic Namespace Insus.NET Public Class Cosmetic Private _ID As Integer Private _Type As String Private _Name As String Private _Weight As Decimal Private _UM As String Public Property ID As Integer Get Return _ID End Get Set(value As Integer) _ID = value End Set End Property Public Property Type As String Get Return _Type End Get Set(value As String) _Type = value End Set End Property Public Property Name As String Get Return _Name End Get Set(value As String) _Name = value End Set End Property Public Property Weight As Decimal Get Return _Weight End Get Set(value As Decimal) _Weight = value End Set End Property Public Property UM As String Get Return _UM End Get Set(value As String) _UM = value End Set End Property Public Sub New() End Sub Public Sub New(id As Integer, type As String, name As String, weight As Decimal, um As String) Me._ID = id Me._Type = type Me._Name = name Me._Weight = weight Me._UM = um End Sub End Class End Namespace
上面创建好的只是一对象,得需用数据填充,让它有血有肉有灵魂。
Private Function GetData() As List(Of Cosmetic) Dim o As New List(Of Cosmetic) Dim c As New Cosmetic(1, "滋润霜", "玉兰油", 50, "g") o.Add(c) Dim c1 As New Cosmetic(2, "滋润霜", "雅诗兰黛", 100, "g") o.Add(c1) Dim c2 As New Cosmetic(3, "滋润霜", " 兰蔻", 80, "g") o.Add(c2) Dim c3 As New Cosmetic(4, "滋润霜", "欧莱雅", 60, "g") o.Add(c3) Dim c4 As New Cosmetic(5, "滋润霜", "芭比波朗", 120, "g") o.Add(c4) Return o End Function
在aspx网页上放一个Gridview控件:
<asp:GridView ID="GridViewCosmetic" runat="server" Width="300" AutoGenerateColumns="false"> <Columns> <asp:TemplateField> <HeaderTemplate> ID </HeaderTemplate> <ItemTemplate> <%# Eval("ID")%> </ItemTemplate> </asp:TemplateField> <asp:TemplateField> <HeaderTemplate> Type </HeaderTemplate> <ItemTemplate> <%# Eval("Type")%> </ItemTemplate> </asp:TemplateField> <asp:TemplateField> <HeaderTemplate> Name </HeaderTemplate> <ItemTemplate> <%# Eval("Name")%> </ItemTemplate> </asp:TemplateField> <asp:TemplateField> <ItemStyle HorizontalAlign="Right" /> <HeaderTemplate> Weight </HeaderTemplate> <ItemTemplate> <%# Eval("Weight")%> </ItemTemplate> </asp:TemplateField> <asp:TemplateField> <HeaderTemplate> UM </HeaderTemplate> <ItemTemplate> <%# Eval("UM") %> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView>
当然得对这个控件,进行数据绑定,引用命名空间Imports Insus.NET
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load If Not IsPostBack Then Data_Binding() End If End Sub Private Sub Data_Binding() Me.GridViewCosmetic.DataSource = GetData() Me.GridViewCosmetic.DataBind() End Sub
接下来,我们开始演示,在GridView控件最后一列,添加一列,选择列:
1 <asp:TemplateField> 2 <ItemTemplate> 3 <asp:LinkButton ID="LinkButton1" runat="server" Text="选择" OnClientClick="return GetSelectedRow(this)" /> 4 </ItemTemplate> 5 </asp:TemplateField>
上面html代码中,有一个OnClientClick="return GetSelectedRow(this)" 客户端事件。
<script type="text/javascript"> function GetSelectedRow(obj) { var row = obj.parentNode.parentNode; var rowIndex = row.rowIndex - 1; alert("你选择的行索引是:" + rowIndex); return false; } </script>
动画演示: