【问题标题】:Error in creating a List of Dataview创建数据视图列表时出错
【发布时间】:2016-08-31 08:37:42
【问题描述】:

我正在尝试创建一个数据视图列表,稍后将在代码中用作函数的参数。我收到此错误“对象引用未设置为对象的实例”。我不确定如何将 dataview 列表初始化为 null

        List<DataView> dvTablesLookup = null;
        List<DataTable> dtTablesLookup = null;

        // Creating Data View
        for (int i=0; i < datatablesLookup.Count; i++ )
        {
            dvTablesLookup[i] = new DataView(datatablesLookup[i]);
            dvTablesLookup[i].Sort = sortLookup;
            dtTablesLookup[i] = dvTablesLookup[i].ToTable();
        }

【问题讨论】:

  • 什么是datatablesLookup?并且您不会在列表中添加元素 dvTablesLookupdvTablesLookup 任何地方。
  • dvTablesLookup[i] = new DataView(datatablesLookup[i]);错误发生在这里
  • datatablesLookup 是一个运行良好的计数。错误是当我尝试将值分配给 dvTableslookup
  • 我不明白这个“你没有在列表 dvTablesLookup 和 dvTablesLookup 任何地方添加元素”

标签: c# dataset dataview


【解决方案1】:

假设 datatablesLookup 是 List()

var datatablesLookup = new List<DataTable>();
List<DataView> dvTablesLookup = null;
List<DataTable> dtTablesLookup = null;

dvTablesLookup = datatablesLookup.Select(dt => new DataView(dt)).ToList();
dvTablesLookup.ForEach(x => x.Sort = sortLookup);
dtTablesLookup = dvTablesLookup.Select( dv => dv.ToTable()).ToList();

【讨论】:

  • 非常感谢。但查询需要更多时间来查找。我认为创建数据视图会有所帮助。
  • 发布一个关于源数据表详细信息的新问题,也有人可以给出答案。
【解决方案2】:

试试:

    List<DataView> dvTablesLookup = new List<DataView>();
    List<DataTable> dtTablesLookup = new List<DataTable>();

    // Creating Data View
    for (int i=0; i < datatablesLookup.Count; i++ )
    {
        DataView tempdv = new DataView(datatablesLookup[i]);
        tempdv.Sort = sortLookup;
        dvTablesLookup.Add(tempdv);                
        dtTablesLookup.Add(tempdv.ToTable());
    }

【讨论】:

  • 实际上它给出了同样的错误。我的第一个解决方案是这个。我认为它会工作,但它给出了同样的错误
  • 尝试更新答案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多