2016-08-31 4 views
0

Я пытаюсь создать список представлений данных, которые будут использоваться позже в коде как аргумент функции. Я получаю эту ошибку «Ссылка на объект не установлена ​​в экземпляр объекта». Я не уверен, как инициализировать список DataView утратившимОшибка при создании списка Dataview

 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(); 
     } 
+0

что такое 'datatablesLookup'? и вы не добавляете элементы в список 'dvTablesLookup' и' dvTablesLookup' в любом месте. –

+0

dvTablesLookup [i] = новый DataView (datatablesLookup [i]); ошибка здесь –

+0

datatablesLookup - это счетчик, который работает нормально. Ошибка при попытке присвоить значения dvTableslookup –

ответ

1

Предполагая datatablesLookup является список()

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(); 
+0

Это очень помогает. но запрос занимает еще больше времени для поиска. Я думал, что создание dataview поможет. –

+0

Опубликуйте новый вопрос с подробной информацией об источнике DataTable, кто-то также сможет дать ответ. –

0

Try:

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()); 
    } 
+0

Фактически это дает ту же ошибку. Моим первым решением было это. Я думал, что это сработает, но оно дает такую ​​же ошибку. –

+0

попробуйте обновить ответ – jambonick

+0

спасибо, я думаю, это должно сработать. –

Смежные вопросы