当前位置: 首页 > news >正文

详细介绍:c# datagridview添加list内容

using System;
using System.Collections.Generic;
using System.Data;

// 定义数据模型类
public class Person
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
public DateTime BirthDate { get; set; }
public decimal Salary { get; set; }
public bool IsActive { get; set; }
}

class Program
{
static void Main()
{
// 1. 创建测试数据 List
List<Person> peopleList = new List<Person>
{
new Person { Id = 1, Name = "张三", Age = 30, BirthDate = new DateTime(1993, 5, 15), Salary = 5000.50m, IsActive = true },
new Person { Id = 2, Name = "李四", Age = 25, BirthDate = new DateTime(1998, 8, 20), Salary = 4500.75m, IsActive = true },
new Person { Id = 3, Name = "王五", Age = 35, BirthDate = new DateTime(1988, 3, 10), Salary = 6000.00m, IsActive = false }
};

// 2. 将 List 转换为 DataTable
DataTable peopleTable = ConvertListToDataTable(peopleList);

// 3. 显示结果
DisplayDataTable(peopleTable);
}

/// <summary>
/// 使用手动映射将 List<Person> 转换为 DataTable
/// </summary>
public static DataTable ConvertListToDataTable(List<Person> peopleList)
{
// 创建 DataTable
DataTable dataTable = new DataTable("People");

// 手动创建列(定义表结构)
dataTable.Columns.Add("ID", typeof(int));
dataTable.Columns.Add("姓名", typeof(string));
dataTable.Columns.Add("年龄", typeof(int));
dataTable.Columns.Add("生日", typeof(DateTime));
dataTable.Columns.Add("薪资", typeof(decimal));
dataTable.Columns.Add("是否激活", typeof(bool));

// 如果传入的列表为空或null,返回空表
if (peopleList == null || peopleList.Count == 0)
return dataTable;

// 手动映射每一行数据
foreach (Person person in peopleList)
{
// 创建新行
DataRow row = dataTable.NewRow();

// 手动映射每个属性到对应的列
row["ID"] = person.Id;
row["姓名"] = person.Name;
row["年龄"] = person.Age;
row["生日"] = person.BirthDate;
row["薪资"] = person.Salary;
row["是否激活"] = person.IsActive;

// 将行添加到表中
dataTable.Rows.Add(row);
}

return dataTable;
}

/// <summary>
/// 显示 DataTable 的内容(用于验证)
/// </summary>
public static void DisplayDataTable(DataTable dataTable)
{
Console.WriteLine("DataTable 内容:");
Console.WriteLine("=========================================");

// 显示列头
foreach (DataColumn column in dataTable.Columns)
{
Console.Write($"{column.ColumnName,-10} ");
}
Console.WriteLine();
Console.WriteLine(new string('-', 70));

// 显示数据行
foreach (DataRow row in dataTable.Rows)
{
Console.WriteLine($"{row["ID"],-10} {row["姓名"],-10} {row["年龄"],-10} {((DateTime)row["生日"]).ToString("yyyy-MM-dd"),-12} {row["薪资"],-10} {row["是否激活"],-10}");
}
}
}

http://www.zskr.cn/news/18726.html

相关文章:

  • MATLAB复杂曲线曲面造型及导函数实现
  • 达梦使用jemalloc内存分配器
  • 基于Python的FastAPI后端开发框架如何使用PyInstaller 进行打包与部署
  • 2025 年气体/实验室/调压/气路/减压阀厂家推荐榜:聚焦安全与专业,助力各行业精准选品
  • 摸鱼混子回归 - ZERO
  • 2025 年国内润滑油厂商最新推荐榜:聚焦优质品牌实力,助力企业精准选品润滑油净化/过滤/回用/液压油润滑油过滤厂商推荐
  • 基于形态学的权重自适应图像去噪的MATLAB实现
  • 2025 年油水分离器 / 气液分离器 / 液固分离器 / 水分离器 / 油分离器厂家推荐:西安同大技术沉淀与流体净化解决方案解析
  • OOP-实验1
  • 哪款剪贴板增强软件最好用?有什么剪贴板内容大全值得分享?多款剪切板历史免费版管理工具推荐
  • EndNote文献管理工具!研究生必备软件!超详细下载安装教程(附下载地址)
  • 鸿蒙应用开发从入门到实战(十九):样式复用案例
  • 2025 年最新推荐冰醋酸厂商综合实力排行榜: 厂商定制服务与仓储能力深度解析昆山/太仓/吴江区/吴中区/相城区/姑苏区冰醋酸厂商推荐
  • 中电金信:“源启大模型文本生成算法”成功通过互联网信息服务算法备案
  • 2025 年冷热冲击试验箱生产厂家最新推荐榜:聚焦三箱 / 两箱 / 吊篮式 / 小型 / 风冷式 / 可程式设备,精选优质企业助力高效选购
  • 批量文件重命名工具(带撤销功能)
  • Trae与Gitee MCP强强联合:AI编程生态迎来重大升级
  • 1_数组
  • 创建数字遗嘱:为亲人留下数字足迹指南
  • 2025 年最新推荐压缩机厂家排行榜:聚焦医药 / 医疗 / 食品 / 冷链 / 工业领域优质企业及核心优势盘点
  • 推荐系统评估、偏见与算法解析
  • 详细介绍:VScode(Visual Studio Code)常用配置大全(持续更新)
  • 2025 年车床生产厂家最新推荐排行榜:涵盖数控 / 卧式 / 斜床身 / 重型等多类型设备,助力企业精准选购优质车床品牌
  • 2025 年磨床厂家最新推荐排行榜:平面磨床 / 外圆磨床 / 数控磨床等优质设备品牌深度解析与核心竞争力测评
  • 2025 年最新推荐球墨铸铁管厂家排行榜:涵盖自来水 / 污水 / 消防等多场景适用优质品牌权威推荐
  • OSI模型-笔记
  • 痞子衡嵌入式:如果i.MXRT1xxx在Hab关闭时出现偶发性启动失败,请先检查JTAG电路
  • 如何使用notepad++查看二进制bin文件
  • 2025 年最新外呼系统机构最新推荐排行榜:深度解析技术实力、服务体系及行业适配方案电话营销外呼系统/智能外呼系统/外呼系统电销卡/外呼系统平台搭建推荐
  • CF848C Goodbye Souvenir 题解(CDQ分治)