【Winfrom-DataTable填充ListView】ListView与DataTable相互转换 .net
2024-09-01 16:48:19
1、DataTable转成ListView:
先遍历DataTable的列,把DataTable列名添加到listView列头。
然后外循环添加行,内循环添加列
跟这篇文章是一样的 http://www.cnblogs.com/Sukie-s-home/p/5702469.html
2、ListView转成DataTable:
先遍历ListView的列,把ListView列头添加到DataTable列名。
然后外循环添加行,内循环添加列 items[i].subitems[j].text
public static void dataTableToListView(ListView lv, DataTable dt)
{
if (dt != null)
{
lv.Items.Clear();
lv.Columns.Clear();
for (int i = ; i < dt.Columns.Count; i++)
{
lv.Columns.Add(dt.Columns[i].Caption.ToString());
}
foreach (DataRow dr in dt.Rows)
{
ListViewItem lvi = new ListViewItem(dr[].ToString());
for (int i = ; i < dt.Columns.Count; i++)
{
lvi.SubItems.Add(dr[i].ToString());
}
lv.Items.Add(lvi);
}
lv.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
}
} public static void listViewToDataTable(ListView lv, DataTable dt)
{ dt.Clear();
dt.Columns.Clear();
//生成DataTable列头
for (int i = ; i < lv.Columns.Count; i++)
{
dt.Columns.Add(lv.Columns[i].Text.Trim(), typeof(string));
}
//每行内容
for (int i = ; i < lv.Items.Count; i++)
{
DataRow dr = dt.NewRow();
for (int j = ; j < lv.Columns.Count; j++)
{
dr[j] = lv.Items[i].SubItems[j].Text.Trim();
}
dt.Rows.Add(dr);
}
}
最新文章
- XCode 中的代码块导出与导入
- css3 calc()方法详解
- Exception in thread “main” com.google.gson.JsonSyntaxException: java.lang.NumberFormatException: empty String
- Prototype in JavaScript
- 【HDU 5007】Post Robot
- 【转】Spring+Hibernate+EHcache配置(一)
- 松下蓄电池与UPS使用和维护
- 安装gem invalid date format in specification错误的解决方法
- Spring 3.x企业应用开发实战(9-1)----依赖注入
- HTTP协议细节
- hadoop配置及无法移动文件到hdfs故障解析
- php专业面试总结
- dom4j操作xml文档
- A start job is running for xxx to stop
- WCF、WebAPI、WCFREST、WebService之间的区别和选择
- 消息 xxx,级别 16,状态 x,过程 sp_executesql,第 x 行 过程需要类型为 &#39;ntext/nchar/nvarchar&#39; 的参数 &#39;@statement&#39;。
- 时间序列分析 异常分析 stl
- 使用RecyclerView实现聊天界面
- Python + Robot Framework 环境搭建
- Expo大作战(三十一)--expo sdk api之Payments(expo中的支付),翻译这篇文章傻逼了,完全不符合国内用户,我只负责翻译大家可以略过!