• listview与datatable之间的转换


    涉及到数据库的编程,经常需要在listview与datatable之间传递数据,写了个简单的类,备用。


     1 using System;
     2 using System.Collections.Generic;
     3 using System.Text;
     4 using System.Data;
     5 using System.Data.SqlClient;
     6 using System.Data.OleDb;
     7 using System.Windows.Forms;
     8 using System.Drawing;
     9 
    10 
    11 namespace ListViewFill
    12 {
    13     class ListViewFill
    14     {
    15         //fill the listview
    16         static public void dataTableToListview(ListView lv, DataTable dt)
    17         {
    18             if (dt != null)
    19             {
    20                 lv.Items.Clear();
    21                 lv.Columns.Clear();
    22                 for (int i = 0; i < dt.Columns.Count; i++)
    23                 {
    24                     lv.Columns.Add(dt.Columns[i].Caption.ToString());
    25                 }
    26                 foreach (DataRow dr in dt.Rows)
    27                 {
    28                     ListViewItem lvi = new ListViewItem();
    29                     lvi.SubItems[0].Text = dr[0].ToString();
    30 
    31                     for (int i = 1; i < dt.Columns.Count; i++)
    32                     {
    33                         lvi.SubItems.Add(dr[i].ToString());
    34                     }
    35 
    36                     lv.Items.Add(lvi);
    37                 }
    38                 lv.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
    39             }
    40         }
    41         static public void listViewToDataTable(ListView lv,DataTable dt)
    42         {
    43             int i, j;
    44             DataRow dr;
    45             dt.Clear();
    46             dt.Columns.Clear();
    47             //生成DataTable列头
    48             for (i = 0; i < lv.Columns.Count; i++)
    49             {
    50                 dt.Columns.Add(lv.Columns[i].Text.Trim(), typeof(String));
    51             }
    52             //每行内容
    53             for (i = 0; i < lv.Items.Count; i++)
    54             {
    55                 dr = dt.NewRow();
    56                 for (j = 0; j < lv.Columns.Count; j++)
    57                 {
    58                     dr[j] = lv.Items[i].SubItems[j].Text.Trim();
    59                 }
    60                 dt.Rows.Add(dr);
    61             }
    62         }
    63     }
    64 }
    65 
  • 相关阅读:
    Linux 环境变量
    sharepoint webapp 部署注意点
    如何让html中的td文字只显示部分
    作业服务笔记
    HBase全分布安装配置
    CentOS Hadoop安装配置详细
    WCF访问超时:HTTP 请求已超过xx:yy分配的超时。为此操作分配的时间可能是较长超时的一部分。
    Apache Spark支持三种分布式部署方式 standalone、spark on mesos和 spark on YARN区别
    ext3文件系统挂载优化--HBase
    CentOS安装HBase
  • 原文地址:https://www.cnblogs.com/cthulhu/p/1864492.html
Copyright © 2020-2023  润新知