Mam DataTable i muszę utworzyć inny, mający podzbiór zakresów wierszy od pierwszego. Chcę więc, aby druga tabela danych zawierała wiersz n do n + y od pierwszego. Jak mogę to zrobić, proszę?
DataTable limitData = new DataTable();
for (int rowIndex = startingRow; rowIndex < endingRow; rowIndex++)
{
limitData.Rows.Add(columnarData.Rows[rowIndex].ItemArray);
}
daje błąd: „Tablica wejściowa jest dłuższa niż liczba kolumn w tej tabeli”.
Kod znajduje się w C # .NET 4.0
Odpowiedzi:
2 dla odpowiedzi № 1Spróbuj tego i daj mi znać, jeśli to zadziała
DataTable limitData =limitData.Clone();
for (int rowIndex = startingRow; rowIndex < endingRow; rowIndex++)
{
limitData.Rows.Add(columnarData.Rows[rowIndex].ItemArray);
}
lub
DataTable limitData =limitData.Clone();
foreach (DataRow dr in columnarData.Rows)
{
limitData.Rows.Add(dr);
}
0 dla odpowiedzi nr 2
Spróbuj tego
for (DataRow r in dt.Rows)
{
if(some condition))
{
extractedData.ImportRow(r);
}
}