2012-12-06 2 views
0

queryDataTable a les données en son sein et si la vérification est vrai que la ligne contraint ce mot, il ajoute cette ligne entière au extractedData .. mais pour l'instant il n'y a que deux lignes à être ajouté à la extractedData datatable mais quand je visite les données il y a 22 ligne ajoutée à c'est-il une raison de ce code est ci-dessouscopier les lignes datatable d'une table à l'autre

DataTable dt = new DataTable(); 

for (int k = 0; k < queryDataTable.Rows.Count; k++) 
{ 

    string row = ""; 
    string test = queryDataTable.Rows[k][0].ToString(); 
    bool check = queryDataTable.Rows[k][0].ToString().StartsWith(queryString); 
    if (check) 
    { 
     int errorcheck = k; 
     extractedData.ImportRow(queryDataTable.Rows[errorcheck]); 

    } 
} 

comment pourrais-je ajouter seulement une ligne à un certain indice dans la première datatable

+0

Vérifiez vos données. Je suppose qu'il pourrait y avoir '' au début de certaines lignes. – Ekk

Répondre

0

Si vous souhaitez vérifier la ligne entière, ce code ne peut pas fonctionner, avec cette instruction:

queryDataTable.Rows[k][0].ToString().StartsWith(queryString); 

vous ne vérifiez que la première colonne de la k-rangée. D'abord, vous pouvez utiliser ce code plus compact:

DataTable dt = new DataTable(); 
for (DataRow r in dt.Rows) 
{ 
    if(r[0].startsWith(queryString)) 
    { 
     extractedData.ImportRow(r); 
    } 
} 

Le cas vérifie statament seulement la colonne 0 de chaque lignes. Si vous me spécifiez la vérification que vous voulez faire, je peux essayer de modifier ce code ou créer une requête linq.

+1

la ligne de mots donne une référence de référence ne sais pas –

+0

Je suis désolé j'écris Row au lieu de DataRow –

Questions connexes