2010-01-23 4 views
1

В моем веб-приложении я использую datatable и вставляю в него контакты Outlook. это мой кодПолучение данных из datatable в asp.net

DataTable myTable = new DataTable(); 
    DataRow dr = myTable.NewRow(); 
    DataColumn myDataColumn = new DataColumn(); 
    myDataColumn.DataType = Type.GetType("System.String"); 
    myDataColumn.ColumnName = "Email"; 
    myTable.Columns.Add(myDataColumn);   

    Microsoft.Office.Interop.Outlook.Application oApp = new Microsoft.Office.Interop.Outlook.Application(); 
    foreach (Microsoft.Office.Interop.Outlook.AddressList addList in oApp.Session.AddressLists) 
    { 

     foreach (Microsoft.Office.Interop.Outlook.AddressEntry addEntry in addList.AddressEntries) 
     { 
      dr["Email"] = addEntry.Address.ToString(); 
      myTable.Rows.Add(dr); 
      dr = myTable.NewRow(); 
      //Response.Write(addEntry.Address.ToString()); 
     } 

    } 

Мои сомнения я могу написать код, как этот , когда контакт вставить в MyTable. детали строки могут считываться в строку типа

string s = myTable.Rows [0] ["Email"]. ToString(); in foreach

+0

Исправьте форматирование на вашем блоке кода. Большая часть этого не отмечена как код. –

+1

Mr.Sam я извиняюсь, я не понимаю –

+0

Ух, офисное взаимодействие в asp.net - это зло. Он не масштабируется и подвержен ошибкам. Вы не должны этого делать. К сожалению, я недостаточно знаком с перспективой, чтобы рассказать вам, что такое правильная работа. –

ответ

2

Вы можете использовать коллекцию DataRow цикла foreach и получить соответствующие значения строк.

foreach (DataRow dr in myTable.Rows) 
{ 
    // Specify the column name or column index of the datacolumn 
    //dr["ColumnName"].ToString(); 
} 

или вы можете использовать DataView в DataTable и перебирать коллекции DataRowView

DataView dv = myTable.DefaultView; 

foreach (DataRowView drv in dv) 
{ 
    drv.Row["ColumnName"].ToString(); 
} 
+0

ОК спасибо пульс Я постараюсь и дам вам знать –

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