单元格

DataGridView 单元格自动填充

喜夏-厌秋 提交于 2019-12-18 22:03:27
在 DataGridView 单元格中,当输入指定字符时,自动完成填充。 通过 TextBox 实现 AutoCompleteMode AutoCompleteMode.Suggest ; AutoCompleteSource AutoCompleteSource.customSource ; namespace DataGridView单元格自动填充 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { string constr = "server=192.168.100.222;user=sa;pwd=p@ssw1rd;database=pwd1"; SqlConnection mycon = new SqlConnection(constr); try { mycon.Open(); DataTable mytb = new DataTable(); SqlDataAdapter mydpt = new SqlDataAdapter("select * from book",mycon); mydpt.Fill(mytb); dataGridView1

如何创建网页上的表格---Table

佐手、 提交于 2019-12-18 21:04:58
创建表格的四个元素: table、tbody、tr、th、td 1、 <table>…</table> :整个表格以 <table> 标记开始、 </table> 标记结束。 2、 <tbody>…</tbody> :如果不加 <thead><tbody><tfooter> , table表格加载完后才显示。加上这些表格结构, tbody包含行的内容下载完优先显示,不必等待表格结束后在显示,同时如果表格很长,用tbody分段,可以一部分一部分地显示。(通俗理解table 可以按结构一块块的显示,不在等整个表格加载完后显示。) 3、 <tr>…</tr> :表格的一行,所以有几对tr 表格就有几行。 4、 <td>…</td> :表格的一个单元格,一行中包含几对…,说明一行中就有几列。 5、 <th>…</th> :表格的头部的一个单元格,表格表头。 6、表格中列的个数,取决于一行中数据单元格的个数。 来源: CSDN 作者: i你以为 链接: https://blog.csdn.net/weixin_44468201/article/details/103602284

交叉填报表的制作

本秂侑毒 提交于 2019-12-18 14:02:06
在常见的分组填报基础上,还常常会遇到这样一种填报需求:将多层分组填报进行行转列操作,从而实现交叉填报效果。下面我们通过一个具体的实例来看一下如何制作简单的交叉填报表。 需求说明 把以科室和指标为分组字段的多层分组填报表进行行转列操作,实现如下图所示的交叉填报表: 其中,科室和指标为扩展行列,从库表中取数; 黄色部分为用户可修改的数据列; 预算值 = 工作量 * 均次费用; 上年参考值需根据 科室 + 指标 取得上年实际执行值。 表结构 上述交叉填报表涉及的库表结构如下图所示: 其中,budg_template_detailrq 是基础信息表,budg_take 用于计算上年参考值。 制作方法 1、 绘制表样 根据效果图将固定内容部分绘制到报表中,如下图所示: 2、 编写数据处理脚本 来源脚本: 代码说明: A1:连接数据库 A2:budg_template_detailrq、budg_take 关联取数,取出需要的字段 A3:把科室的 id 和 name 字段取出来,用于下拉数据集配置 A4:把指标的 id 和 name 字段取出来,用于下拉数据集配置 A5:关闭数据库连接 去向脚本: 代码说明: A1:连接数据库 A2:是用 update 函数进行数据更新 A3:获取数据库操作过程中的错误信息 A4:根据是否有错误信息来判断将更新数据提交或者进行事务回滚 A5:关闭数据库连接

报表也可以根据单元格计算后结果进行排序

只愿长相守 提交于 2019-12-18 12:26:07
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 熟悉报表的人都知道,报表中实现数据排序通常有三种方法: 1、 在 sql 语句中增加 order by,如 order by id asc 2、 select 函数取数时,指定排序字段,如 ds1.select(name:-1),或者按照其他字段排序,如 ds1.select(EMPID, ,,;NAME:1) 按照 NAME 字段升序排序 3、 还可以按照某字段汇总后的结果进行排序,如:ds1.group(省份; 省份:1; ds1.sum( 工业产值):-1),对数据集 ds1 按照省份进行分组,分组后求出每组的 sum( 工业产值),然后按照这个汇总值对组进行逆序排列 可以看到,这三种方式有一个共性,排序字段的数据都存储在数据库中。但是,在实际使用中,数据经常会在报表单元格中进行运算(比如单元格数据乘以一个系数然后再和其他单元格数据相加等),而此时如果要根据计算后的单元格数据进行排序,上述三种方法就无法做到了。 下面,我们就介绍一下如何实现这种需求,基于单元格计算后的数据进行排序。 思路 : 我们首先分析一下排序操作是怎么做的:按照某列数据排序,实际上是先算出该数据的“排名”,然后根据排名的“顺序”对数据进行重新排序。因此主要有两部分操作,一是如何生成排名,二如何根据排名重新对数据排序。

交叉填报表的制作

主宰稳场 提交于 2019-12-18 12:07:12
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 在常见的分组填报基础上,还常常会遇到这样一种填报需求:将多层分组填报进行行转列操作,从而实现交叉填报效果。下面我们通过一个具体的实例来看一下如何制作简单的交叉填报表。 需求说明 把以科室和指标为分组字段的多层分组填报表进行行转列操作,实现如下图所示的交叉填报表: 其中,科室和指标为扩展行列,从库表中取数; 黄色部分为用户可修改的数据列; 预算值 = 工作量 * 均次费用; 上年参考值需根据 科室 + 指标 取得上年实际执行值。 表结构 上述交叉填报表涉及的库表结构如下图所示: 其中,budg_template_detailrq 是基础信息表,budg_take 用于计算上年参考值。 制作方法 1、 绘制表样 根据效果图将固定内容部分绘制到报表中,如下图所示: 2、 编写数据处理脚本 来源脚本: 代码说明: A1:连接数据库 A2:budg_template_detailrq、budg_take 关联取数,取出需要的字段 A3:把科室的 id 和 name 字段取出来,用于下拉数据集配置 A4:把指标的 id 和 name 字段取出来,用于下拉数据集配置 A5:关闭数据库连接 去向脚本: 代码说明: A1:连接数据库 A2:是用 update 函数进行数据更新 A3:获取数据库操作过程中的错误信息 A4

Excel表格错误提示处理方法

与世无争的帅哥 提交于 2019-12-17 14:31:56
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 当我们在利用Excel做各种数据运算或函数运用的时候,经常会遇到一些错误值,当出现不符合Excel运算规则逻辑的时候,Excel就会通过不同的错误类型来提示我们。这些错误值会在不同情况下出现,当然也代表不同的含义,每个错误值都有不同的原因和解决方法。 Excel表格老是报错怎么办 ?一起来看看Excel表格错误提示处理方法。 在利用Excel表格的时候,我们只有知道了每一种错误值是什么、怎么产生的,这样我们才能快速有针对性的进行问题的解决。 Excel常见的8种错误类型数据主要包含:#DIV/0!、#REF!、#NAME?、#NULL!、####、#NUM!、#N/A、#VALUE!等错误类型。每一种错误类型都有自己的特点。下面我们就来详细的学习每一种错误类型如何解决。 本文在 Windows 10环境下测试与编辑,使用的版本是 Excel 2016 。经测试,本文内容对 2010、2013、2016 版本的 Excel 均有效!一起来看看吧。 一,####:当前单元格宽度满足不了数值的长度 解决方法: 1.当列宽不足以显示内容时,可以通过以下几种方法纠正: (1)缩小内容文字大小适应列宽; (2)调整列宽,或直接选中列后双击列标题右侧的边界; (3)更改单元格的数字格式,使数字适合现有单元格宽度。例如

如何制作动态层分组报表

你离开我真会死。 提交于 2019-12-17 09:46:06
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 润乾报表提供了单元格同值合并的功能,可以实现动态层次的分组报表。这里通过一个例子来说明使用过程。 目标报表: 需要根据参数动态传递分组字段,按不同维度汇总订单运货费。如参数输入“货主地区, 货主城市”,显示的报表效果如下: 当参数输入“货主地区, 运货商, 货主城市”时,报表显示如下: 以下为具体实现步骤: 1、连接数据源 连接润乾报表设计器自带 DEMO 数据源: 2、设置报表参数 新建报表,并设置报表参数如下: 其中,gnum 为分组字段数;gname 为分组字段名,多个字段使用逗号分隔 3、设置数据集 报表数据集使用 SQL 检索,数据集设置如下: 这里使用了参数的 ${参数名} 的用法。利用 ${参数名} 引用方式可以在报表中动态进行表达式的替换,在报表运算之前,系统会全面搜索整张报表定义,将所有 ${参数名} 中的参数名替换成参数值,然后再进行报表计算。 4、设置报表单元格表达式 报表表达式设置如下: 上面使用了动态列表达式,其中 ds.fname()获得字段名,ds.field() 进行取数。此时如果不设置同值合并,得到的结果是: 而我们希望当分组字段值相同时,可以纵向合并成一个单元格,也就是“同值合并”。 5、设置同值合并 选中 A3 和 B3 单元格,选择右侧属性面板中的同值合并选项为“纵向合并

固定格式填报表的制作

自闭症网瘾萝莉.ら 提交于 2019-12-17 09:11:42
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 在前面几篇文章中,我们学习了多种类型填报表的制作,对润乾报表的填报机制有了一定的了解。今天我们来研究一下如何制作固定格式填报表,同时检验下自己之前学习的内容是否已熟练掌握。 今天要学习的固定格式填报表效果图如下所示: 左侧为固定内容,蓝色部分是需要客户填写的内容,最后将整个页面数据更新到数据库表中。 这里的难点在于,如何把左侧固定内容也更新到数据库中,也就是如何设置单元格分区。 带着这个问题我们来看一下具体实现步骤: 第一步 新建填报表 编辑填报表内容和样式,如下图所示: 一般这类报表会对应一个 excel 效果文件,我们可以通过“文件”–“打开填报”–选择对应 excel 文件,将 excel 导入到报表设计页面后稍作修改。 第二步 设置数据处理 脚本处理部分一般和业务需求有关,此示例需要根据不同参数值选取不同数据展现并根据参数值动态更新数据。 来源脚本内容如下图所示: 这里主要用到了 if 函数和 query 函数,if 函数用于动态条件判断,query 实现动态取数。 其中,A2:使用 if 函数判断 tbType 参数值是否为 0 B3:当满足 if 条件时,按照 query 函数中的 sql 取数 B5:当不满足 if 条件时,按照 query 函数中的另外一条 sql 取数 去向脚本内容如下图所示:

交叉填报表的制作

折月煮酒 提交于 2019-12-17 08:41:29
在常见的分组填报基础上,还常常会遇到这样一种填报需求:将多层分组填报进行行转列操作,从而实现交叉填报效果。下面我们通过一个具体的实例来看一下如何制作简单的交叉填报表。 需求说明 把以科室和指标为分组字段的多层分组填报表进行行转列操作,实现如下图所示的交叉填报表: 其中,科室和指标为扩展行列,从库表中取数; 黄色部分为用户可修改的数据列; 预算值 = 工作量 * 均次费用; 上年参考值需根据 科室 + 指标 取得上年实际执行值。 表结构 上述交叉填报表涉及的库表结构如下图所示: 其中,budg_template_detailrq 是基础信息表,budg_take 用于计算上年参考值。 制作方法 1、 绘制表样 根据效果图将固定内容部分绘制到报表中,如下图所示: 2、 编写数据处理脚本 来源脚本: 代码说明: A1:连接数据库 A2:budg_template_detailrq、budg_take 关联取数,取出需要的字段 A3:把科室的 id 和 name 字段取出来,用于下拉数据集配置 A4:把指标的 id 和 name 字段取出来,用于下拉数据集配置 A5:关闭数据库连接 去向脚本: 代码说明: A1:连接数据库 A2:是用 update 函数进行数据更新 A3:获取数据库操作过程中的错误信息 A4:根据是否有错误信息来判断将更新数据提交或者进行事务回滚 A5:关闭数据库连接

自由格式填报的制作

帅比萌擦擦* 提交于 2019-12-17 08:15:19
在数据采集阶段,对于每个用户的信息采集,往往是给出一张空白表单供用户填写信息使用,随着网络化线上平台的不断发展,一些原本需要在纸质页面填写的信息,都转移到了线上。比如:用户信息采集报表 这种报表大多都不像网格式那样整齐的排成一行,而是将一个人或一条数据的信息,自由的分布在多行,样式自由,美观(如下图)。那么,这种自由格式的填报表该怎么制作呢? 下面我们通过一个具体的实例来看一下。 需求说明 进入信息录入系统,选择“填写个人信息”,弹出如下图所示空白报表 其中,性别编辑框设置为下拉列表选择; 出生日期、入职日期 编辑框设置为下拉日历; 应发工资 = 工资 * 1.2 ; 数据表取自 demo**** 数据库的员工表 制作方法 1. 绘制表样 根据效果图将固定内容部分绘制到报表中,如下图所示: 2. 编写数据处理脚本 数据来源脚本: 因业务需求为数据采集,因此不要做查询处理,此设置空着即可。 数据去向脚本: 代码说明: A1 :连接数据库 A2 :使用 update 函数进行数据更新处理,其中 @i 选项直接将录入的用户信息插入到数据库,@k 选项 完成后不提交事务,缺省将提交 A3 :获取数据库操作过程中的错误信息 A4 :根据是否有错误信息来判断将更新数据提交或者进行事务回滚 A5:关闭数据库连接 A6:如果有错误信息则返回到页面,便于用户根据错误信息排查问题 3. 配置单元格属性