自动填充固定行数的 GridView

2023-11-16

效果图:

 

代码:(C#)

 

<% @ Page Language = " C# " %>

<! DOCTYPE html PUBLIC  " -//W3C//DTD XHTML 1.0 Transitional//EN "
 
" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd " >

< script runat = " server " >
  
//  计算数据,这里可以适当修改从数据库中获取
  ICollection CreateDataSource()
  
... {
    System.Data.DataTable dt 
= new System.Data.DataTable();
    System.Data.DataRow dr;
    dt.Columns.Add(
new System.Data.DataColumn("学生班级"typeof(System.String)));
    dt.Columns.Add(
new System.Data.DataColumn("学生姓名"typeof(System.String)));
    dt.Columns.Add(
new System.Data.DataColumn("语文"typeof(System.Decimal)));
    dt.Columns.Add(
new System.Data.DataColumn("数学"typeof(System.Decimal)));
    dt.Columns.Add(
new System.Data.DataColumn("英语"typeof(System.Decimal)));
    dt.Columns.Add(
new System.Data.DataColumn("计算机"typeof(System.Decimal)));

    
for (int i = 0; i < 8; i++)
    
...{
      System.Random rd 
= new System.Random(Environment.TickCount * i); ;
      dr 
= dt.NewRow();
      dr[
0= "班级" + i.ToString();
      dr[
1=  i.ToString();
      dr[
2= System.Math.Round(rd.NextDouble() * 1002);
      dr[
3= System.Math.Round(rd.NextDouble() * 1002);
      dr[
4= System.Math.Round(rd.NextDouble() * 1002);
      dr[
5= System.Math.Round(rd.NextDouble() * 1002);
      dt.Rows.Add(dr);
    }

    System.Data.DataView dv 
= new System.Data.DataView(dt);
    
return dv;
  }


  
//  设置每页显示的行数  
   int  TotalRowCount  =   12 ;
  
//  自动填充的行数
   int  numCount  =   0 ;
  
protected   void  Page_Load( object  sender, EventArgs e)
  
... {
    
if (!Page.IsPostBack)
    
...{
        GridView1.DataSource 
= CreateDataSource();
      GridView1.DataBind();
    }

  }


  
protected   void  GridView1_RowDataBound( object  sender, GridViewRowEventArgs e)
  
... {
    
if (e.Row.RowType == DataControlRowType.DataRow)
    
...{
      
// 计算自动填充的行数
      numCount++;
    }

    
if (e.Row.RowType == DataControlRowType.Footer)
    
...{
      
// 计算完毕,在此添加缺少的行
      int toLeft = TotalRowCount - numCount;
      
int numCols = GridView1.Rows[0].Cells.Count;

      
for (int i = 0; i < toLeft; i++)
      
...{
        GridViewRow row 
= new GridViewRow(-1-1, DataControlRowType.EmptyDataRow, DataControlRowState.Normal);
        
for (int j = 0; j < numCols; j++)
        
...{
          TableCell cell 
= new TableCell();
          cell.Text 
= "&nbsp;";
          row.Cells.Add(cell);
        }

        GridView1.Controls[
0].Controls.AddAt(numCount + 1 + i, row);
      }

    }

  }
 
</ 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 "  OnRowDataBound = " GridView1_RowDataBound "
      Font
- Size = " 12px "  CellPadding = " 3 " >
      
< HeaderStyle BackColor = " #EDEDED "   />
      
< Columns >
        
< asp:TemplateField HeaderText = " 序号 " >
          
< ItemTemplate >
            
<% #Eval( " 学生姓名 " %>
          
</ ItemTemplate >
        
</ asp:TemplateField >
      
</ Columns >
    
</ asp:GridView >
  
</ form >
</ body >
</ html >
 

vb.net

 

< %@ Page Language = " vb " % >

< !DOCTYPE html  PUBLIC   " -//W3C//DTD XHTML 1.0 Transitional//EN "
 
" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd " >

< script runat = " server " >
    
'  计算数据,这里可以适当修改从数据库中获取
     Private   Function CreateDataSource() Function CreateDataSource() As System.Data.DataView
        
Dim dt As System.Data.DataTable = New System.Data.DataTable
        
Dim dr As System.Data.DataRow
        
Dim i As Integer
        dt.Columns.Add(
New System.Data.DataColumn("学生班级"GetType(String)))
        dt.Columns.Add(
New System.Data.DataColumn("学生姓名"GetType(String)))
        dt.Columns.Add(
New System.Data.DataColumn("语文"GetType(String)))
        dt.Columns.Add(
New System.Data.DataColumn("数学"GetType(String)))
        dt.Columns.Add(
New System.Data.DataColumn("英语"GetType(String)))
        dt.Columns.Add(
New System.Data.DataColumn("计算机"GetType(String)))
        
For i = 0 To 8
            
Dim rd As New System.Random(Environment.TickCount * i)
            dr 
= dt.NewRow
            dr(
0= "班级" + i.ToString()
            dr(
1= i.ToString()
            dr(
2= System.Math.Round(rd.NextDouble() * 1002)
            dr(
3= System.Math.Round(rd.NextDouble() * 1002)
            dr(
4= System.Math.Round(rd.NextDouble() * 1002)
            dr(
5= System.Math.Round(rd.NextDouble() * 1002)
            dt.Rows.Add(dr)
        
Next
        
Dim dv As System.Data.DataView = New System.Data.DataView(dt)
        
Return dv
    
End Function


    
'  设置每页显示的行数  
     Dim  TotalRowCount  As   Integer   =   12
    
'  自动填充的行数
     Dim  numCount  As   Integer   =   0
    
Protected   Sub Page_Load() Sub Page_Load(ByVal sender As ObjectByVal e As EventArgs)
        
If Not Page.IsPostBack Then
            GridView1.DataSource 
= CreateDataSource()
            GridView1.DataBind()
        
End If
    
End Sub


    
Protected   Sub GridView1_RowDataBound() Sub GridView1_RowDataBound(ByVal sender As ObjectByVal e As GridViewRowEventArgs)
        
If (e.Row.RowType = DataControlRowType.DataRow) Then
            numCount 
= numCount + 1
        
End If
        
If (e.Row.RowType = DataControlRowType.Footer) Then
            
Dim toLeft As Integer = TotalRowCount - numCount
            
Dim numCols As Integer = GridView1.Rows(0).Cells.Count
            
Dim i, j As Integer
            
For i = 0 To toLeft
                
Dim row As GridViewRow = New GridViewRow(-1-1, DataControlRowType.EmptyDataRow, DataControlRowState.Normal)
                
For j = 0 To numCols
                    
Dim cell As New TableCell
                    cell.Text 
= "&nbsp;"
                
Next
                GridView1.Controls(
0).Controls.AddAt(numCount + 1 + i, row)
            
Next
        
End If
    
End Sub

</ 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 "  OnRowDataBound = " GridView1_RowDataBound "
      Font
- Size = " 12px "  CellPadding = " 3 " >
      
< HeaderStyle BackColor = " #EDEDED "   />
      
< Columns >
        
< asp:TemplateField HeaderText = " 序号 " >
          
< ItemTemplate >
            
< %#Eval( " 学生姓名 " ) % >
          
</ ItemTemplate >
        
</ asp:TemplateField >
      
</ Columns >
    
</ asp:GridView >
  
</ form >
</ body >
</ html >
 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

自动填充固定行数的 GridView 的相关文章

  • 用于发送字符串数据的简单 rpyc 客户端和服务器

    我正在使用 rpyc 在 python 中编写一个程序 我的目标是创建一个简单的服务器 它接受来自客户端的数据字节 字符串 我对 python 和 rpyc 都很陌生 这是我的 server py 代码 from rpyc utils se
  • SQL Server:将 bool 转换为整数

    为什么查询 SELECT CAST column LIKE string AS INT 100 return 关键字 AS 附近的语法不正确 因为 bool 不是 T SQL 中的类型 它不存在 布尔表达式不是位类型 他们不have类型 仅
  • 如何在 Laravel 中为 20 分钟后的每条新记录制定调度程序任务?

    我有一个停车系统 我使用 Angular 6 Laravel 作为后端 但我有一个具体问题 我不知道正确的方法 公园有两个图腾 它们向我的服务器发送一个条目 只有当客户从出口走出图腾并进入付款区时 我才会检查客户是否无效 这是我的代码 当他
  • 如何在C++中存储1000000位整数

    在我的问题中 我必须保存大整数 例如最多 1000000 位数字 并执行一些操作 我该怎么做 我知道 C 中的 long int 最多可以存储 10 位数字 您可以使用GMP http gmplib org GNU 任意精度库 请注意 这不
  • 按长度对数组排序

    我有以下数组 http jsfiddle net 3NZsK http jsfiddle net 3NZsK 我需要按数组的长度对数组进行排序 如何找出数组中最大 第二大 第三大 最小哪一个 例如 我有以下虚拟函数 它可以获取第二大数组 h
  • 最有效的便携式溢出检测? [复制]

    这个问题在这里已经有答案了 与 C C 和 D 等金属语言类似 检测无符号 64 位溢出的最有效 合理可移植的方式是什么 即不使用汇编程序 尽管您可能假设二进制补码算术和环绕行为 乘法中的整数 通过将无符号类型可表示的最大值除以被乘数之一
  • new URL() - WHATWG URL API

    我正在摆弄节点 并试图获取 URL 类的实例 因为这些方便的属性 喜欢 const URL require url http createServer request response gt let uri new URL request
  • uint32_t vs uint_fast32_t vs uint_least32_t

    我在中看到了不同类型的整数定义stdint h 我将以无符号 32 位整数为例 uint32 t显然意味着 32 位无符号整数 这是我经常使用的 uint fast32 t and uint least32 t 和有什么区别uint32 t
  • 鲁比“是吗?”需要类或模块(类型错误)

    我正在使用 Ruby 并尝试创建一个小型银行帐户程序 当我运行在 create account 中运行的这一特定代码行时 unless response is a Integer response to str length 4 puts
  • 如果可能的话,如何在 C 中定义 2 位数字?

    对于我的大学过程 我正在模拟一个称为随机顺序吸附的过程 我必须做的一件事是随机地将正方形 不能重叠 放置到格子上 直到没有更多空间为止 重复该过程几次以找到平均 干扰 覆盖率 基本上我正在对一个大的整数数组执行操作 其中存在 3 个可能的值
  • Electron 构建应用程序无法启动 Express 服务器

    我正在构建一个应用程序 当我处于开发人员模式时一切正常 每件事都按其应有的方式运作 但是 当我使用电子构建器打包我的应用程序时 应用程序会打开 但它不会启动快速服务器 并且应用程序无法正常工作 这是我的 package json 代码 na
  • 无法在运行 apache 服务器上访问 http://localhost:80

    在 ubuntu 14 04 中运行 apache 服务器时我得到 This webpage is not available 在浏览器中或 curl 7 Failed to connect to localhost port 80 Con
  • Tomcat 和 TomEE、TomEE 和 TomEE Plus 之间有什么区别

    我想在服务器中部署 EJB Ear 但我对选择服务器感到非常困惑tomcat TomEE and TomEE Plus 两者有什么区别Tomcat and TomEE 其中有哪些新功能TomEE and TomEE Plus 在什么情况下才
  • 在 Ruby 中模拟 int64 溢出

    我是一名资深程序员 但对 Ruby 还很陌生 我正在尝试移植一种名为 CheckRevision 的算法 用于在登录 Battle net 的在线游戏服务之前检查游戏文件的完整性 该算法使用给定的公式对文件进行 哈希 没有无聊的细节 而是不
  • 当 python 添加小整数时,幕后会发生什么? [复制]

    这个问题在这里已经有答案了 我正在摆弄id最近意识到 c Python 做了一些非常明智的事情 它确保小整数始终具有相同的值id gt gt gt a b c d e 1 2 3 4 5 gt gt gt f g h i j 1 2 3 4
  • 通过列表搜索

    我一直在尝试定义一个函数 给定一个整数列表和一个整数 n 返回一个布尔值 指示 n 是否在列表中恰好出现一次 我有这个 但它不起作用 我无法弄清楚 once a gt a gt Bool gt Bool filter filter p x
  • 我们如何找到 C# 整数数组中的项目计数?

    我需要在 C 数组中查找类型为整数的项目计数 我的意思是 int intArray new int 10 int 0 34 int 1 65 int 2 98 intArray 的项目计数为 3 我在下面找到了 strArray 的代码 但
  • 如何在Windows平台上编写Git Server Hooks?

    我找不到任何适用于 Windows 的 Git 挂钩的明确示例 我在 Windows Server 上使用 Bonobo Git Server 我需要预提交和提交后挂钩作为 cmd 或 bat 预提交应检查空注释 提交后应发送有关提交的电子
  • 当 URL 可在浏览器中访问时,SSH Curl 不起作用

    This post is linked with another post of mine still unsolved Laravel 作曲家更新 连接被拒绝 https stackoverflow com questions 52404
  • 无法在服务器端 NodeJS 启用 CORS

    我无法启用CORS在服务器端 我的前端和后端服务器有不同的端口 服务器端的实现方式如下 http createServer function req res Here you can create your data response in

随机推荐

  • 14、Qt 捕捉鼠标事件

    0 需求 在鼠标进入窗口实时捕捉所在位置 以及进行的操作 1 方法 我们主要使用QWidget中的几个方法 鼠标进入 void enterEvent QEvent event 鼠标离开 void leaveEvent QEvent even
  • 管理一年,领悟一生:迷茫、洞见与成长

    领导力跟你做了多少年管理 管过多少人 没有直接的关系 你开悟了 一年就能管得井井有条 不开悟 十年也是一塌糊涂 1 引言 大家好 我是苍何 相信作为技术人的成长路线大家都有了解吧 大家普遍所了解的就是两个路线 技术管理和架构师 而成为架构师
  • ue4大气纹理

    UE4的大气纹理 在 class FAtmosphereTextures public FRenderResource 成员变量上涉及到了辐射 投射 和散射 分三个部分 首先放入一个commandlist 然后分别就各参数创建RTT 传参数
  • python 中关于推导式生成器的一些总结

    推导式 可以理解为是数据生成方式或者是处理方式 类型 列表 元组 字符串 字典 集合 外部包装的括号决定了返回值类型的 定义 列表推导式 表达式 for循环 if语句 1 对列表中的每项元素进行立方运算 变换功能 a 1 2 3 4 5 6
  • 动态规划(1)

    动态规划 Dynamic Programming 是一种具有分治思想的迭代技术 它用于求解某些复杂的不包含决策过程的最优化问题 其基本思路是将原问题分解为子问题 并保存子问题的求解结果 从而避免不必要的重复计算 动态规划的主要思想就是将复杂
  • Java类、构造方法、对象

    public class Lader 定义类 float above 成员变量 类中有效 float bottom float height float area float area 4 合法 area 4 非法 在方法体中赋值 floa
  • 11月8日 改良射线,蓝图 UE4斯坦福 学习笔记

    修改射线类型 更改了昨天的射线类型 void USInteractionComponent PrimaryInteract 射线 FHitResult FHit 碰撞体 FCollisionObjectQueryParams ObjectQ
  • 为什么TCP建立连接需要三次握手

    TCP 协议是我们几乎每天都会接触到的网络协议 绝大多数网络连接的建立都是基于 TCP 协议的 学过计算机网络或者对 TCP 协议稍有了解的人都知道 使用 TCP 协议建立连接需要经过三次握手 three way handshake 如果让
  • 生鲜电商迎巨变?美菜撤出县城,有菜被集团关停

    生鲜B2B电商是个大生意 但也是个苦生意 随着生鲜从风口摔落 对 大 的渴望逐渐让位于对 苦 的体验 据 财经 报道 知名生鲜B2B平台美菜最近密集业务调整 半年来退出数百个县城和10个中心城市 急剧向平台模式转型 疫情带来的线下餐饮行业变
  • JAVA zip 压缩包 导出

    JAVA 导出 zip压缩文件 代码如下 public void downloading String orderId List
  • SSM之一步一坑:返回JSON格式 中文乱码问号 解决方案

    在使用SSM框架写代码时 偶然间在console控制台发现一个 text plain charset ISO 8859 1 这种数据格式 如下图 当时就感觉有点问题 因为我的项目中使用UTF 8的编码格式 并且在web xml 中也采用了u
  • ubuntu安装高版本python

    ubuntu安装高版本python 以python3 7为例 安装其他版本python更改安装包即可 使用wget拉取安装包的方式 单纯命令行容易报错 1 下载python安装包并解压 wget https www python org f
  • 空值的处理

    1 取空值的时机 1 1不知道取什么值 比如学生登记表 某个学生的年龄忘记填了 1 2不能取值 比如选了课 缺考了 所以成绩表的成绩填空 1 3由于某种原因不便填写 比如一个人的手机号码不便填写 2 空值的产生 2 1没有给属性列赋值 2
  • 数据结构学习(一)数据结构基础

    文章目录 算法与数据结构学习 一 数据结构基础 1 数据结构 1 1 什么是数据结构 1 2 学习数据结构的必要性 2 算法 2 1 怎么衡量算法的好坏 2 1 1 时间复杂度 2 1 2 空间复杂度 2 2 时间复杂度的计算 2 3 常见
  • 【unity】【jit】【游戏开发】讲解ios系统不支持JIT的来龙去脉,以及unity在IOS上需要使用反射时候的替代方案

    标题有点长啊 很彪 所以我们叫彪题 咋地 东北地 你瞅啥 1 带有增高垫IL的c c 语言作为一种高级语言 是不能直接在我们的CPU上来直接运行的 需要编译成IL语言 Intermediate Language 即中间层语言 就是这么高冷
  • 《机器学习实战》第六章 Python3代码-(亲自修改测试可成功运行)

    由于Peter Harrington所著的这本 机器学习实战 中的官方代码是Python2版本的且有一些勘误 使用Python3的朋友运行起来会有很多问题 所以我将自己在学习过程中修改好的Python3版本代码分享给大家 以供大家交流学习
  • STM32 bool

    STM32中基于库V3 5的头文件中 去掉了对bool类型变量的定义 而将它放在了文件stdbool h中 d Keil v5 ARM ARMCC include stdbool h stdbool文件内容如下 stdbool h ISO
  • C++将字符串中包含指定字符串范围内的字符串全部替换

    概述 将指定字符串所在的范围之内的字符串全部替换为指定的字符串 如 源字符串 START dfh待到花开月圆时 两首相顾心相连 END dhussd2434xhuhu是别人十大海归 转换后的字符串 dfh待到花开月圆时 两首相顾心相连 dh
  • XXE漏洞

    何为XXE 简单来说 XXE就是XML外部实体注入 当允许引用外部实体时 通过构造恶意内容 就可能导致任意文件读取 系统命令执行 内网端口探测 攻击内网网站等危害 典型攻击手法 XML又是什么呢 XML用于标记电子文件使其具有结构性的标记语
  • 自动填充固定行数的 GridView

    效果图 代码 C lt script runat server gt 计算数据 这里可以适当修改从数据库中获取