zoukankan      html  css  js  c++  java
  • 使用DataTable的Select()方法遇到的问题解决方法

    今天使用到DataTable的select()方法遇到了一个问题 看代码

       var row = dt.Select("status='未下载'");

    当使用查询后,得到的行集合的列名会消失,如果此时只拿行集合给dataview赋值,则表格会显示空白数据。

    经过一番百度,解决了这个问题。

    Select方法的返回的是包含查询到的数据的DataRow,但是这个DataRow只是被查询的DataTable的一个映射,所以DataRow是随着DataTable的行变化而变化的。

    所以,要想把返回的DataRow放进数据显示控件中,需要将其放入另一个DataTable中。

    另外,在一个新表中插入行,不能直接用DataTable.Rows.Add(DataRow)的方式,因为这样是插入一个新表,也就是DataRow是空的。要用导入行的方式,DataTable.ImportRow(DataRow)。当然,前提是这个新表要有与原数据表一样的结构。

    看代码

        var row = dt.Select("status='未下载'");
                    var temp = dt.Clone();//复制表结构
                    foreach (var item in row)
                    {
                        temp.ImportRow(item);//导入行数据
                    }

    导入行数据之后,就可以拿导入行数据的新表给dataview赋值了

  • 相关阅读:
    [译]理解 iOS 异常类型 <🌟>
    LeetCode 24. 两两交换链表中的节点
    解决The operation couldn’t be completed. Unable to log in with account
    <Typora> 常用操作快捷键
    LeetCode 23. 合并K个升序链表
    CSS盒子模型
    CCS属性
    CSS
    form表单
    html
  • 原文地址:https://www.cnblogs.com/Angel-szl/p/13998168.html
Copyright © 2011-2022 走看看