使用ListView显示从数据库中提取到的DataSet数据

该Demo是实现WCF在服务端实现数据的查询,将查询数据穿到客户端,在客户端展示:(DataGridView和ListView控件进行展示)
1)从数据库中查询数据并放到DataSet中

 public DataSet QuerySql()
    {
        try
        {
            OpenSql();
            string strSql = "SELECT prop_name,prop_value From t_property where file_id = 1000000007";
            DataSet ds = new DataSet();
            MySqlDataAdapter sda = new MySqlDataAdapter(strSql, sqlConn);
            sda.Fill(ds);
            return ds;
        }
        catch (Exception exc)
        {
            throw exc;
        }
        finally
        {
            CloseSql();
        }
    }

2)客户端设置
DataGridView设置:主要是设置DataPropertyName跟查询到的数据字段名称关联
在这里插入图片描述
ListView设置:表头显示,需要注意两个地方(添加列,设置控件属性View为Details)
在这里插入图片描述

在这里插入图片描述

3)客户端展示主要代码:

public partial class Form1 : Form
{
ChannelFactory factory;
IDatabaseService manager;
string baseAddress = “net.tcp://localhost:8733/”;

    public Form1()
    {
        InitializeComponent();

        NetTcpBinding binding = new NetTcpBinding();
        binding.Security.Mode = SecurityMode.None;
        binding.TransferMode = TransferMode.Buffered;
        binding.MaxReceivedMessageSize = int.MaxValue;
        factory = new ChannelFactory<IDatabaseService>(binding,new EndpointAddress(baseAddress));
        manager = factory.CreateChannel();
        DataSet ds = manager.QuerySql();

        //初始化DataGridView
        dataGridView1.DataSource = ds.Tables[0];

        //初始化ListView
        int rowCount = ds.Tables[0].Rows.Count;
        int columnCount = ds.Tables[0].Columns.Count;

        listView1.BeginUpdate();
        listView1.Items.Clear();
        string[] lvItem = new string[columnCount];

        for (int i= 0; i<rowCount; i++)
        {
            for (int j=0; j<columnCount; j++)
            {
                lvItem[j] = ds.Tables[0].Rows[i][j].ToString();
            }
            ListViewItem lvi = new ListViewItem(lvItem);
            listView1.Items.Add(lvi);
        }
        listView1.EndUpdate();
    }
}

展示效果:
在这里插入图片描述

注:ListView中两个常用属性:
(1)FullRowSelect:设置是否行选择模式。(默认为false) 提示:只有在Details视图该属性才有意义。
(2) GridLines:设置行和列之间是否显示网格线。(默认为false)提示:只有在Details视图该属性才有意义。

完整代码:https://download.csdn.net/download/qq_43026206/12676248

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值