guarda io sto lavorando su una cosa molto simile. Purtroppo la lentezza te la devi tenere.
io ho 2 funzioni:
codice:
private void Iniz_Grid()
{
DataTable myDataTable= PrendiDati();
myGrid.DataSource = myDataTable;
myGrid.DataBind();
}
private DataTable PrendiDati()
{
DataTable dtResult = new DataTable("pippo");
dtResult.Columns.Add(new DataColumn("colonna1"));
dtResult.Columns.Add(new DataColumn("colonna2"));
DataRow dtRow;
for(int i=0;i<5;i++)
{
dtRow = dtResult.NewRow();
fai quello che devi fare nel file xml
dtRow["colonna1"]=tuo valore;
dtRow["colonna2"]=tuo valore;
dtResult.Rows.Add(dtRow);
}