2010-01-23 6 views
1

dans mon application web j'utilise datatable et en insérant des contacts de perspectives dans cela. ceci est mon codeObtenir les données de datatable dans 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()); 
     } 

    } 

Mon doute est ce que je peux écrire le code comme celui-ci lorsque le contact est insérer dans matable. les détails de la ligne peuvent lire dans une chaîne comme ceci

chaîne s = myTable.Rows [0] ["Email"]. ToString(); dans foreach

+0

S'il vous plaît fixer la mise en forme sur votre bloc de code. Une grande partie n'est pas marquée comme du code. –

+1

Mr.Sam je suis désolé je ne comprends pas –

+0

Ugh, Office interop dans asp.net est diabolique. Il ne change pas d'échelle et est sujet aux erreurs. Tu ne devrais pas le faire. Malheureusement, je ne suis pas assez familier avec Outlook pour vous dire quelle est la bonne solution. –

Répondre

2

Vous pouvez utiliser la collection DataRow de la boucle foreach et obtenir les valeurs de ligne correspondantes.

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

ou vous pouvez utiliser un DataView du DataTable et itérer la collection DataRowView

DataView dv = myTable.DefaultView; 

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

ok pouls merci je vais essayer et vous faire savoir –

Questions connexes