如何:精准定位到GridView(DataList/DataTable)对象单元格?----控件与容器之三

本文详细讲解了如何在GridView、DataTable和DataList中精确定位并获取特定行、列单元格的内容,包括直接表示法、循环遍历和通过控件查找的方法,适合处理动态数据展示的需求。

一、应用场景

当我们使用GridView/DataTable/DataList等对象编程时,经常会涉及到某行某列单元格内容的动态变化。那么精准定位到

这些单元格就显得尤为重要。否则我们将无从下手。如:用标签控件Label显示GridView的第行三第三列内容。为了解决这

个问题,首先我们要认清GridView、DataTable及DataList(Repeater)的行对应的类,因为行对应的类不同,则其作为行属性

的列的表示形式也不一样。具体如下:

1、GridView行对应的类为:GridViewRow,那么作为行属性的列为Cells[]元素。

2、DataTable行对应的类为:DataRow,那么作为行属性的列为:ItemArray[]元素。

3、DataList(Repeater):严格来说,它不是以网格形式呈现的,而是以项的形式呈现的,所以,它的每一项都是Items[]数组的元素。

二、技术实现

1、行列直接表示法:这个只针对GridView/DataTable。

以第三行第三列为例:

(1)、GridView1的第三行第三列:GridView1.Rows[2].Cellls[2],说明:行列的序号都从“0”开始计数。

(2)、DataTable1的第三行第三列:DataTable1.Rows[2].ItemArray[2]。

2、以循环语句取出行与列:先取行再取列。

取出数据表中各行的第三列(这里假设第三列字段名为EveryDate),然后以长日期形式显示在表格各行的Label1控件中。

(1)、GrivView:

int i=0;

foreach(GridViewRow EveryRow 

///<summary> ///成品库未发货仓储费 ///</summary> [SugarTable("WFHCPK")] public partial class WFHCPK { public WFHCPK() { } /// <summary> /// Description: /// DefaultValue: /// Nullable:False /// <summary> [Browsable(false)] [DisplayName("")] [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] public int ID { get; set; } /// <summary> /// Description:受损阿米巴 /// DefaultValue: /// Nullable:True /// <summary> /// [Browsable(false)] [DisplayName("受损阿米巴")] public string SSAMB { get; set; } /// <summary> /// Description:责任阿米巴 /// DefaultValue: /// Nullable:True /// <summary> /// [Browsable(false)] [DisplayName("责任阿米巴")] public string ZRAMB { get; set; } /// <summary> /// Description:生产编号 /// DefaultValue: /// Nullable:True /// <summary> /// [Browsable(false)] [DisplayName("生产编号")] public string ProductionNumber { get; set; } /// <summary> /// Description:生产类型 /// DefaultValue: /// Nullable:True /// <summary> /// [Browsable(false)] [DisplayName("生产类型")] public string ProductType { get; set; } /// <summary> /// Description:生产控制方 /// DefaultValue: /// Nullable:True /// <summary> /// [Browsable(false)] [DisplayName("生产控制方")] public string ProductionControl { get; set; } /// <summary> /// Description:主要加工车间 /// DefaultValue: /// Nullable:True /// <summary> /// [Browsable(false)] [DisplayName("主要加工车间")] public string ProductionWorkshop { get; set; } /// <summary> /// Description:成品入库日期 /// DefaultValue: /// Nullable:True /// <summary> /// [Browsable(false)] [DisplayName("成品入库日期")] public DateTime ReceivingDate { get; set; } /// <summary> /// Description:要求发货日期 /// DefaultValue: /// Nullable:True /// <summary> /// [Browsable(false)] [DisplayName("要求发货日期")] public DateTime DispatchDate { get; set; } /// <summary> /// Description:免费仓储天数 /// DefaultValue: /// Nullable:True /// <summary> /// [Browsable(false)] [DisplayName("免费仓储天数")] public int? FreeDays { get; set; } /// <summary> /// Description:已存储天数 /// DefaultValue: /// Nullable:True /// <summary> /// [Browsable(false)] [DisplayName("已存储天数")] public int? StorageDays { get; set; } /// <summary> /// Description:赔偿金额 /// DefaultValue: /// Nullable:True /// <summary> /// [Browsable(false)] [DisplayName("赔偿金额")] public string Amount { get; set; } /// <summary> /// Description:创建人 /// DefaultValue: /// Nullable:True /// <summary> /// [Browsable(false)] [DisplayName("创建人")] public string Creator { get; set; } /// <summary> /// Description:创建时间 /// DefaultValue: /// Nullable:True /// <summary> /// [Browsable(false)] [DisplayName("创建时间")] public DateTime? CreateTime { get; set; } /// <summary> /// Description:更新人 /// DefaultValue: /// Nullable:True /// <summary> /// [Browsable(false)] [DisplayName("更新人")] public string Updater { get; set; } /// <summary> /// Description:更新时间 /// DefaultValue: /// Nullable:True /// <summary> /// [Browsable(false)] [DisplayName("更新时间")] public DateTime? UpdateTime { get; set; } /// <summary> /// Description:上次记录日期 /// DefaultValue: /// Nullable:True /// <summary> [Browsable(false)] [DisplayName("上次记录日期")] public DateTime LastTime { get; set; } 查看全部 }这是我的一个类 Amount列的格式为202507:3170 \r\n 202508:310 现在获取这个类的数据绑定到gridconrol 想要根据amount列的数据动态拆分添加数据列 202507赔偿 202508赔偿 3170 310
最新发布
07-09
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

科创网络开发有限公司

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值