DataTable数据集动态构造Table表结构
功能介绍:
根据入库单编号和产品编码,获取该入库单中该产品的颜色尺码值,以二维形式显示出来。即把DataTable数据集
(图1)用以下格式显示出来 (图2)。
实现代码:
前台:
现在页面中拉一个table控件:
<asp:Table ID="Table1" runat="server" CssClass="grid" Width="92%" CellPadding="2" CellSpacing="0" style="text-align:center;" GridLines="Both">
</asp:Table>
后台:
DataTable dt = new DataTable();
DataTable colors = new DataTable();
DataTable sizes = new DataTable();
dt = SQLServerDAL.Report.SqlReportMgt.GetColorSizeByCC(billcode, barcode);//获得图1的数据集
colors = SQLServerDAL.Report.SqlReportMgt.GetColors(billcode, barcode);//获取该订单该产品的颜色集(即【粉红,黑】)
sizes=SQLServerDAL.Report.SqlReportMgt.GetSizes();//获取所有尺码(即【L,M,S,XL】)
TableRow tr=new TableRow();//行
TableCell tc=new TableCell();//列
Label lb;
//第一行标题
tc.Text = "入库单:" + billcode + " 中产品" + barcode+ " 的信息";
tc.Attributes.Add("colspan", "6");
tc.Attributes.Add("text-align", "center");
tc.Attributes.Add("background", "RGB(192,192,192)");
tr.Cells.Add(tc);
Table1.Rows.Add(tr);
//第一列颜色列名
tr = new TableRow();
tr.HorizontalAlign = HorizontalAlign.Center;
tc = new TableCell();
tc.Text = "颜?色¦?";
tr.Cells.Add(tc);
//生成表头
for (int i = 0; i <= sizes.Rows.Count; i++)
{
tc = new TableCell();
if (i < sizes.Rows.Count)
{
tc.Text = sizes.Rows[i][0].ToString();
}
else
{
tc.Text = "合计";
}
tr.Cells.Add(tc);
}
Table1.Rows.Add(tr);
for (int i = 0; i < colors.Rows.Count; i++)//颜色
{
tr = new TableRow();
tc = new TableCell();
lb = new Label();//记录第一列的颜色值
lb.Text = colors.Rows[i][0].ToString();
tc.Controls.Add(lb);
tr.Cells.Add(tc);
int total = 0;//记录合计
for (int j = 0; j < sizes.Rows.Count; j++)//尺码
{
tc = new TableCell();
lb = new Label();
//给每一个单元格附一个label控件
lb.ID ="lbl_"+ colors.Rows[i][0].ToString() + sizes.Rows[j][0].ToString();//形如“粉红S”“粉红M”等
for (int t = 0; t < dt.Rows.Count; t++)//遍历数据集
{
if (dt.Rows[t][2].ToString() == colors.Rows[i][0].ToString() &&
dt.Rows[t][3].ToString() == sizes.Rows[j][0].ToString())
{
lb.Text = dt.Rows[t][4].ToString();
total = total + Convert.ToInt32(lb.Text);//合计累加
}
}
tc.Controls.Add(lb);
tc.Attributes.Add("text-align", "center");
tr.Cells.Add(tc);
}
lb = new Label();//定义合计列
tc = new TableCell();
lb.ID = "lbl_" + colors.Rows[i][0].ToString() + "合计";
lb.Text = total.ToString();
tc.Controls.Add(lb);
tr.Cells.Add(tc);
Table1.Rows.Add(tr);
}
说明:
1. 生成时只能一行一行的生成
2. 生成行列时,先给行、列分别一个实例化变量,即tr = new TableRow(); tc = new TableCell();,再实例化一个label控件:lb = new Label();设置label的文本,然后把label加入到列tc中:tc.Controls.Add(lb);,然后把列加入到行中:tr.Cells.Add(tc);,最后把行加入到table中:Table1.Rows.Add(tr);。
3. 反复第2步,定义每一行内容。
转载于:https://www.cnblogs.com/yinluhui0229/archive/2011/08/01/2124180.html
DataTable数据集动态构造Table表结构相关推荐
- mysql frm 恢复_mysql 从 frm 文件恢复 table 表结构的3种方法
mysql 正常运行的时候,查看 table 的结构并不是困难的事. 但是有时 mysql 发生故障,这种方法便不再可行. 当遇到故障,通常使用新的 mysql 实例来恢复当前的数据. 建表是非常重要 ...
- ALTER TABLE 表结构变更
修改表明 ALTER TABLE 当前表名 RENAME TO 新表名; ALTER TABLE old RENAME TO new 给列改名 ALTER TABLE 表名 RENAME COLUMN ...
- python中table表结构_python中的简易表格prettytable
安装:pip install PrettyTable 普通表格 from prettytable import PrettyTable table = PrettyTable(['编号','云编号', ...
- c语言边序列构造邻接表,结构C语言版期末考试考试(有答案).doc
人生难得几回搏,此时不搏更待何时? "数据结构"期末考试试题 一.单选题(每小题2分 共12分) 1.在一个单链表HL中 若要向表头插入一个由指针p指向的结点 则执行( ) A. ...
- 带你实现java根据表结构动态导入导出Excel
你知道的越多,你不知道的越多 点赞再看,养成习惯 如果您有疑问或者见解,欢迎指教: 企鹅:869192208 前言 最近在甲方爸爸的要(威)求(逼)下,项目经理带来了客户的全新需求,希望能够在原有编辑 ...
- 不改表结构如何动态扩展字段
笔者的动态字段扩展解决方案主要针对 Mysql 5.7.8 以下版本,在 Mysql 5.7.8 已经新增 JSON Data Type,同样适用该方案,而且情况变得更加简单. 痛点 软件行业唯一不变 ...
- 多表查询返回多个DataTable,合并到一个Table中.
本文意在说明一下DataSet.Merge(Table)和多个Table合并到一个里面的操作.因为是新手,代码肯定有很多问题,欢迎大家批评指正. 如果你有更好的解决方案,请告诉我.谢谢. 先说一 ...
- 数据源管理 | 动态权限校验,表结构和数据迁移流程
本文源码:GitHub·点这里 || GitEE·点这里 一.数据同步简介 1.场景描述 如果经常接触数据开发,会有这样一个场景,服务A提供一个数据源,假设称为动态数据源A,需要读取该数据源下的数据: ...
- ML之FE:基于BigMartSales数据集利用Featuretools工具(1个dataframe表结构切为2个Entity表结构)实现自动特征工程之详细攻略
ML之FE:基于BigMartSales数据集利用Featuretools工具(1个dataframe表结构切为2个Entity表结构)实现自动特征工程之详细攻略 目录 基于BigMartSales数 ...
最新文章
- 肝了3版才满意:分布式系统之CAP理论,我们对它的理解和误解
- 第二十一课.GBDT
- linux系统中的日志管理
- Android Studio 第六十五期 - Android业务组件库
- iOS 播放gif动态图的方式探讨
- nginx 配置笔记
- python summary writer_tensorflow中summary操作
- 牛逼,Java中表达式引擎工具就用它!建议收藏,一定用的到!!
- PTA-7-2 统计字符出现次数 (20分)
- Spring之IOC容器篇
- Windows 平台下基于MinGW和Qt 的OpenCV 之CMake 项目配置
- 搭建和测试 Redis 主备和集群
- 聊聊flink JobManager的High Availability
- html5 语音直播,一种基于HTML5浏览器的音视频直播方法与流程
- #今日论文推荐# 中国矿大团队,开发集成多尺度深度学习模型,用于 RNA 甲基化位点预测
- 关于glew.h / glut.h引用
- Windows10系统中断、系统设置打不开的解决办法
- DM368+MT7601U通过wifi可以正常出图
- hibernate一对一主键唯一外键关联(一)
- 【AD封装】2.54间距排针排母插件贴片(带3D)
热门文章
- 唠唠 RDS 那些事 —— RDS on Windows Server 2016 第二篇
- 从零开始学习搜索引擎(开篇)---Searcharoo.net
- Sql Create Function简单例子
- 《An Introduction to Ray Tracing》——2.3 Ray/Polygon Intersection And Mapping
- Kettle工具使用及总结
- 在html中解决数字四舍五入,JavaScript四舍五入及精度丢失问题
- mulitpartfile怎么接收不到值_GNSS接收机设计杂谈(射频前端+捕获)
- docker Ubuntu系统中使用 powershell
- mysql n叉树_MySQL索引底层:B+树详解
- 360浏览器清除缓存_放飞浏览器的反应速度