Entfernen von Spalten aus datatable
Ich habe eine datatable mit 20 Spalten. Aber ich brauche nicht alle Spalten für die aktuelle Bearbeitung außer 5. So habe ich die unten zu entfernen, die Spalten
List<string> clmnames = new List<string>() { "clm6","clm7"..."clm20" };
foreach (string dcName in clmnames)
{
TestAndRemoveColumn(dcName, ds.Tables["TestTable"]);
}
private void TestAndRemoveColumn(string dcName,DataTable datatable)
{
DataColumnCollection dcCollection = datatable.Columns;
if (dcCollection.Contains(dcName))
{
dcCollection.Remove(dcName);
}
}
Anstatt einer Schleife durch die 15 mal gibt es keinen anderen Weg zu erreichen, mit leicht ?
Gibt es irgendeinen rationalen Grund, die Sie nicht wollen, es zu tun mit einer iteration? Das sieht ziemlich einfach für mich. =)
Gibt es einen Grund, man kann nicht einfach ändern Sie Ihre Abfrage, damit Sie nicht die Spalten, in den ersten Platz? Oder vielleicht ich sollte haben gefragt, wie die DataTable gefüllt ist ersten?
Gibt es einen Grund, man kann nicht einfach ändern Sie Ihre Abfrage, damit Sie nicht die Spalten, in den ersten Platz? Oder vielleicht ich sollte haben gefragt, wie die DataTable gefüllt ist ersten?
InformationsquelleAutor Pradeep | 2012-07-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
In einigen Szenarien kann ratsam sein, zu Klonen, Datentabelle und Spalten angeben zu kopieren.
InformationsquelleAutor SergeyA
versuchen, diese
InformationsquelleAutor K.Zelect
Problem scheint zu sein, in Ihrem code, Sie erhalten alle comlumns aus der Datentabelle entfernen Sie dann die Spalten, aber Sie haben nicht wieder weisen Sie die Spalten, die datatable
Sie erhalten zuerst Spalten
Versuchen, diese
können Sie verwenden Sie als
InformationsquelleAutor Waqar Janjua
Alternativ wählen Sie nur die benötigten Spalten(Nur 5 in deinem Fall) wie diese.
Hoffe, das hilft.
InformationsquelleAutor Manjunath K Mayya
Konnte man join die Spalten, die Sie wollen, entfernen Sie mit den verfügbaren Spalten:
Wenn Sie wissen, dass Sie nur noch wenigen verbliebenen Spalten, fügen Sie die Spalte(N):
Loop ist immer noch da... ich bin nicht sicher, ob dies ist, was er will
Sie können das Gegenteil tun, wenn Sie wissen, dass es nur ein paar Spalten.
Clear
der ersten Spalten und fügen Sie nur diese(siehe meine Antwort bearbeitet). Im Allgemeinen: natürlich ist es unmöglich zum entfernen oder hinzufügen von Spalten ohne Schleifen(implizit oder explizit), da könnte es mehrere Spalten. Also bin ich davon ausgegangen, dass diese Frage fragt nach der Effizienz (Lesbarkeit, übersichtlichkeit, performance).InformationsquelleAutor Rango