You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从SQL填充的DataGridView提取age列整数数据到列表?

从DataGridView提取"age"列整数到列表的实现方案

没问题,我来帮你搞定这个需求!下面是具体的实现思路和代码示例,完全适配你提到的场景:

核心思路拆解

  • 定位目标列:通过列名"age"获取对应索引,比硬写数字索引更灵活,后续列顺序变动也不会出错
  • 遍历有效行:跳过DataGridView默认的新行(如果开启了允许添加新行的功能),避免空数据干扰
  • 安全转换数据:先判断值是否有效,再转换为整数,防止空值或非整数导致程序报错

C#代码示例(直接操作DataGridView)

// 初始化用来存储age整数的列表
List<int> ageList = new List<int>();

// 获取"age"列的索引,避免硬编码列位置
int ageColumnIndex = dataGridView1.Columns["age"].Index;

// 遍历DataGridView的每一行数据
foreach (DataGridViewRow row in dataGridView1.Rows)
{
    // 跳过新增行(如果DataGridView允许用户添加新行的话)
    if (row.IsNewRow) continue;

    // 取出当前行age列的原始值
    object ageValue = row.Cells[ageColumnIndex].Value;

    // 安全转换为整数:先检查值不为空,再尝试转换
    if (ageValue != null && int.TryParse(ageValue.ToString(), out int age))
    {
        ageList.Add(age);
    }
}

// 至此,ageList里就保存了所有有效的age整数,你可以直接用于后续逻辑了

进阶方案(从绑定的DataTable提取)

如果你的DataGridView是绑定了DataTable的,直接从数据源提取效率会更高,代码也更简洁:

// 假设你的DataGridView绑定的数据源是名为dataTable的DataTable
List<int> ageList = dataTable.AsEnumerable()
    // 过滤掉age列值为空的行
    .Where(row => row["age"] != DBNull.Value)
    // 将有效行的age值转换为整数并提取
    .Select(row => row.Field<int>("age"))
    .ToList();

内容的提问来源于stack exchange,提问作者Limatuz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 04:23:17