gridview行索引获取方法及实现代码

Insus.NET为了演示这个例子,首先准好数据,创建一个类别
Cosmetic.vb


代码如下:

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控件最后一列,添加一列,选择列:


代码如下:

<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" Text="选择" OnClientClick="return GetSelectedRow(this)" />
</ItemTemplate>
</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>

动画演示

(0)

相关推荐

  • C#与SQL连接:GridView控件对数据库的操作

    GridView和DataGrid的异同 GridView 是 DataGrid的后继控件,在.net framework 2 中,虽然还存在DataGrid,但是GridView已经走上了历史的前台,取代DataGrid的趋势已是势不可挡.GridView和DataGrid功能相似,都是在web页面中显示数据源中的数据,将数据源中的一行数据,也就是一条记录,显示为在web页面上输出表格中的一行. GridView相对于DataGrid来说,具有如下优势,功能上更加丰富,因为提供了智能标记面板(

  • Asp.net简单代码设置GridView自适应列宽不变形实现思路与代码

    动态绑定的GridView由于列数不固定,而列又太多(博主做的这个项目有150个左右的字段),这样设置GridView固定宽度就不能满足需求了.为此整理了两种方法来达到GridView自适应列宽不变形的效果. .aspx.cs 复制代码 代码如下: //在GridView的行数据绑定完的事件中设置 protected void gvObjectList_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType

  • GridView多层嵌套和折叠与展开(修改适合自己使用)

    Insus.NET近段时间应朋友的要求,写一个GridView多层嵌套和折叠与展开.这个功能的GridView多层嵌套没有问题,因为已经做了无限次数,但是折叠与展开的功能,却花上不少时间(网上找资料),虽找到资料可参考,还是了解明它,并修改适合自己程序使用.效果如下: 站点中多个页面使用,因此Insus.NET把它写在一个用户自定义控件ASCX上. 复制代码 代码如下: InsusMenu.ascx <%@ Control Language="VB" AutoEventWireu

  • ASP.NET GridView控件在列上格式化时间及DataFormatString使用

    症状:在GridView绑定日期格式的时候,数据库中的日期为2008-07-04,而GridView显示的是2007-07-04 000000.. 解决办法:想把这后面这多余的零去掉的话在绑定时间的那一列源码后面加上一句话就可以了,如下红色的部分 复制代码 代码如下: <asp:BoundField DataField="BeginDate" HeaderText="开始时间" DataFormatString="{0:d}" htmlen

  • GridView分页代码简单万能实用

    复制代码 代码如下: <asp:GridView ID="GridViewHistory" runat="server" AutoGenerateColumns="False" CssClass="vip_table" GridLines="None" BorderStyle="None" CellPadding="0" ShowHeader="Fal

  • ASP.NET GridView 实现课程表显示(动态合并单元格)实现步骤

    GridView,ASP.NET中很常用的数据显示控件,这里,我将用这个控件来实现课程表的显示.首先说说课程表的显示与普通记录的显示有何不同?这里所说的普通记录是指直接从数据库中查询出来的.没有经过任何处理的记录.通常,我们用GridView显示这些普通记录,只需直接将这些记录表绑定到GridView中即可.但是,课程表的显示可不是这么简单,它需要将普通记录继续加工,需要根据记录中具体的数据来确定数据需要显示在哪一行.哪一列,而且需要根据课程开始时间和结束时间动态合并单元格,最后才是数据的显示.

  • GridView选择记录同时confirm用户确认删除

    用户户操作删除记录之前给用户一个确认是否删除的提示.一般情况之下,一条记录一条记录删除是没有问题的.但是,如遇到可以多选,如果用户没有选择记录,直接去点删除铵钮,它会首先提示删除前的确认信息,再提示用户没有选择想要删除的记录. Insus.NET想实现的是,把它的顺序调换一下,首先判断用户是否有选择记录,如果没有,提示用户选择记录,一旦有选择记录时,才提示删除前确认信息. 下面实例,将是GridView第一例放置一个CheckBox,让用户多选记录,然后在Gridview外放一个Delete铵钮

  • ASP.NET GridView中文本内容无法换行(自动换行/正常换行)

    最近做项目的时候,遇到这样一个问题:我用GridView来显示课程表,每个单元格的内容包括课程名.上课地点.教师姓名,然后我想让它们分行显示,效果如下图: 可是呢,GridView太顽强了,不管我拼接字符串时用"\r\n"还是"<br/>",结果都无济于事,都不分行显示.经过近半天的时间查询资料,最终终于解决了这个问题,下面就与大家分享一下. GridView中的换行问题可以分为两类:一类是自动换行,另一类是正常换行. 先说第一类:自动换行 GridVi

  • gridview行索引获取方法及实现代码(非js版)

    前一版本http://www.jb51.net/article/33251.htm是用Javascript获取GridView的行索引. 此篇Insus.NET使用非Javascript获取GridView的行索引. 数据还是使用前一篇的数据来更改. 首先为GridView的控件写OnRowCreated ="GridViewCosmetic_RowCreated" 复制代码 代码如下: Protected Sub GridViewCosmetic_RowCreated(sender

  • gridview行索引获取方法及实现代码

    Insus.NET为了演示这个例子,首先准好数据,创建一个类别 Cosmetic.vb 复制代码 代码如下: 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 Pub

  • Jquery简单实现GridView行高亮的方法

    本文实例讲述了Jquery简单实现GridView行高亮的方法.分享给大家供大家参考.具体实现方法如下: $("#gridID tr:not(tr:last-child)").filter(function () { return $('td', this).length && !('table', this).length }).hover(function () { $(this).toggleClass('hover_css'); }); 希望本文所述对大家的jQ

  • asp.net gridview的Rowcommand命令中获取行索引的方法总结

    一.通过命令源获取当前行索引. 方法比较多, GridView 的 Command 事件中无法象 DataGrid 那样直接获取行, 法1, GridViewRow drv = ((GridViewRow)(((Button)(e.CommandSource)).Parent.Parent));//CommandSource 引起事件的命令源,(疑问,根据MSDN说的是GridView,如果这样的话这样操作是错误的,但我得到的确实正确的,那说明得到的是BUtton控件,等待以后查证). drv.

  • asp.net利用NamingContainer属性获取GridView行号的方法

    由于DropDoweList与button不同,无法指定其CommandName,所以,也就没办法通过常规的方法捕获所在行的索引.颇费了些周折,后来找到用NamingContainer属性解决了问题.先来看看微软对该属性的解释:----------------------------------获取对服务器控件的命名容器的引用,此引用创建唯一的命名空间,以区分具有相同 Control.ID 属性值的服务器控件. ASP.NET Web 应用程序的每一页均包含控件的层次结构.此层次结构与控件是否生

  • jQuery数据检索中根据关键字快速定位GridView指定行的实现方法

    本文实例讲述了jQuery数据检索中根据关键字快速定位GridView指定行的实现方法.分享给大家供大家参考,具体如下: 运行截图如下: 具体代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="ShowGridviewContent.aspx.cs" Inherits="ShowGridviewContent" %> <!DOCTYPE

  • 在.NET中取得代码行数的方法

    文章目的 介绍在.NET中取得代码行数的方法 代码 复制代码 代码如下: [STAThread] static void Main(string[] args) { ReportError("Yay!"); } static private void ReportError(string Message) { StackFrame CallStack = new StackFrame(1, true); Console.Write("Error: " + Messa

  • mysql获取group by总记录行数的方法

    本文实例讲述了mysql获取group by总记录行数的方法,分享给大家供大家参考.具体方法分析如下: 一般来说,mysql获取group by内部可以获取到某字段的记录分组统计总数,而无法统计出分组的记录数. mysql中可以使用SQL_CALC_FOUND_ROWS来获取查询的行数,在很多分页的程序中都这样写: 复制代码 代码如下: SELECT COUNT(*) from `table` WHERE ......; 查出符合条件的记录总数: 复制代码 代码如下: SELECT * FROM

  • php更新mysql后获取改变行数的方法

    本文实例讲述了php更新mysql后获取改变行数的方法.分享给大家供大家参考.具体分析如下: 一个php更新mysql后获取改变的行数,在php中提供mysql函数来获取最后执行查询所影响的记录数:mysql_affected_rows(), 返回最近一次与 连接句柄 关联的 INSERT,UPDATE 或 DELETE 查询所影响的记录行数.FOUND_ROWS() : select ROW_COUNT():update delete insert. 下面就是文章的主要内容描述,代码如下: 复

  • Layui组件Table绑定行点击事件和获取行数据的方法

    一个项目里面用了layui,简直无数个坑... 这里先记录一个行点击事件的坑,后面慢慢补充. 初始化表格完成后利用事件给table(定位table需要在HTML代码中给table放入指定div)的tr绑定双击事件,然后获取Index,再从数据集里面取出行数据; done: function(res, curr, count){ $('#div').find('.layui-table-body').find("table" ).find("tbody").child

随机推荐