zoukankan      html  css  js  c++  java
  • [导入]GridView中实现并列排名的例子

    Access数据库版本

    <%@ Page Language="C#" AutoEventWireup="true" Debug="true" %> <%@ Import Namespace="System.Data" %> <script runat="server"> public int TrapezoidIndex = 1; int LastNumer = 0; protected void Page_Load( object sender, EventArgs e ) { //ASPNET20Book.mdb数据库参见《ASP.NET 2.0应用开发技术》一书的光盘 string ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\ASPNET20Book.mdb;Persist Security Info=True"; System.Data.OleDb.OleDbConnection cn = new System.Data.OleDb.OleDbConnection(ConnectionString); cn.Open(); string sql = "select * from [Score] Order BY Shuxue DESC"; System.Data.OleDb.OleDbCommand cmd = new System.Data.OleDb.OleDbCommand(sql, cn); System.Data.OleDb.OleDbDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection); GridView1.DataSource = dr; GridView1.DataBind(); dr.Close(); cmd.Dispose(); cn.Dispose(); } protected void GridView1_RowCreated( object sender, GridViewRowEventArgs e ) { if (e.Row.RowType == DataControlRowType.DataRow) { System.Data.Common.DbDataRecord db = (System.Data.Common.DbDataRecord)e.Row.DataItem; int Shuxue = Int32.Parse(db["Shuxue"].ToString()); if (e.Row.RowIndex == 0) { LastNumer = Shuxue; } if (LastNumer != Shuxue) { TrapezoidIndex = e.Row.RowIndex + 1; } LastNumer = Shuxue; } } </script> <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server"> <title>GridView并列排名的例子</title> </head> <body> <form id="form1" runat="server"> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" OnRowCreated="GridView1_RowCreated"> <Columns> <asp:TemplateField HeaderText="数据序号"> <ItemTemplate> <%#Container.DataItemIndex + 1%> </itemtemplate> </asp:TemplateField> <asp:TemplateField HeaderText="学生姓名"> <ItemTemplate> <%#Eval("UserName")%> </itemtemplate> </asp:TemplateField> <asp:TemplateField HeaderText="数学"> <ItemTemplate> <%#Eval("Shuxue")%> </itemtemplate> </asp:TemplateField> <asp:TemplateField HeaderText="排名"> <ItemTemplate> <%#TrapezoidIndex%> </itemtemplate> </asp:TemplateField> </columns> </asp:GridView> </form> </body> </html>

    SQL Server数据库版本

    <%@ Page Language="C#" AutoEventWireup="true"%> <script runat="server"> public int TrapezoidIndex = 1; int LastNumer = 0; protected void Page_Load( object sender, EventArgs e ) { string ConnectionString = "Persist Security Info=False;User ID=sa;Password=;Initial Catalog=Book;Server=.;"; System.Data.SqlClient.SqlConnection cn = new System.Data.SqlClient.SqlConnection(ConnectionString); cn.Open(); string sql = "select *,(Yuwen + Shuxue + Yingyu) As TotalScore from [Score] Order BY TotalScore DESC"; System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(sql, cn); System.Data.SqlClient.SqlDataReader dr = cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection); GridView1.DataSource = dr; GridView1.DataBind(); dr.Close(); cmd.Dispose(); cn.Dispose(); } protected void GridView1_RowCreated( object sender, GridViewRowEventArgs e ) { if (e.Row.RowType == DataControlRowType.DataRow) { System.Data.Common.DbDataRecord db = (System.Data.Common.DbDataRecord)e.Row.DataItem; int TotalScore = Int32.Parse(db["TotalScore"].ToString()); if (e.Row.RowIndex == 0) { LastNumer = TotalScore; } if (LastNumer != TotalScore) { TrapezoidIndex = e.Row.RowIndex + 1; } LastNumer = TotalScore; } } </script> <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server"> <title>GridView并列排名的例子</title> </head> <body> <form id="form1" runat="server"> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" OnRowCreated="GridView1_RowCreated" Width="600px"> <Columns> <asp:TemplateField HeaderText="数据序号"> <ItemTemplate> <%#Container.DataItemIndex + 1%> </itemtemplate> </asp:TemplateField> <asp:TemplateField HeaderText="学生姓名"> <ItemTemplate> <%#Eval("UserName")%> </itemtemplate> </asp:TemplateField> <asp:TemplateField HeaderText="语文"> <ItemTemplate> <%#Eval("Yuwen")%> </itemtemplate> </asp:TemplateField> <asp:TemplateField HeaderText="数学"> <ItemTemplate> <%#Eval("Shuxue")%> </itemtemplate> </asp:TemplateField> <asp:TemplateField HeaderText="英语"> <ItemTemplate> <%#Eval("Yingyu")%> </itemtemplate> </asp:TemplateField> <asp:TemplateField HeaderText="总分"> <ItemStyle Font-Bold="true" ForeColor="red" /> <ItemTemplate> <%#Eval("TotalScore")%> </itemtemplate> </asp:TemplateField> <asp:TemplateField HeaderText="排名"> <ItemTemplate> <%#TrapezoidIndex%> </itemtemplate> </asp:TemplateField> </columns> </asp:GridView> </form> </body> </html>

    文章来源:http://dotnet.aspx.cc/article/7e82096a-b4f7-4012-b873-e1d51705e166/read.aspx
  • 相关阅读:
    .net core 3.1 使用Redis缓存
    JavaSE 高级 第11节 缓冲输入输出字节流
    JavaSE 高级 第10节 字节数组输出流ByteArrayOutputStream
    JavaSE 高级 第09节 字节数组输入流ByteArrayInputStream
    JavaSE 高级 第08节 文件输出流FileOutputStream
    JavaSE 高级 第07节 文件输入流FileInputStream
    JavaSE 高级 第06节 初识I、O流
    JavaSE 高级 第05节 日期类与格式化
    JavaSE 高级 第04节 StringBuffer类
    JavaSE 高级 第03节 Math类与猜数字游戏
  • 原文地址:https://www.cnblogs.com/fansino/p/959333.html
Copyright © 2011-2022 走看看