Wie können wir die Spaltendaten einer DataTable in eine andere kopieren, auch wenn zwischen DataTables unterschiedliche Spaltennamen bestehen?

Ich habe zwei DataTables. Zuerst ist

DataTable NameAddressPhones = new DataTable(); 

mit drei SpaltenName, Adresse und Telefonnummer .Aber ich möchte nur zwei SpaltenName und Adress data, also möchte ich diese Spalten (mit Daten) in die neue Datentabelle kopieren.

DataTable NameAddress = new DataTable(); 

afür mache ich

            foreach (DataRow sourcerow in NameAddressPhones.Rows)
            {
                DataRow destRow = NameAddress.NewRow();
                foreach (string colname in columns)
                {
                    destRow[colname] = sourcerow[colname];
                }
                NameAddress.Rows.Add(destRow);
            }

Ich lösche die DataTable NameAddressPhones (first) jedes Mal, wenn neue Datensätze in die Tabelle eingefügt werden. Und jedes Mal wird es die gleiche Anzahl von Spalten geben, aber die Spaltennamen werden unterschiedlich sein wie Nm anstattName, @ hinzufüg anstattAdress .Jetzt ist das Problem, dass die zweite DataTable bereits Spaltennamen hatName und Adress und jetzt möchte ich die Spaltendaten von @ kopierNm und Add zur zweiten DataTable, aber die Spaltennamen unterscheiden sich von den Spaltennamen der zweiten DataTable. Also, selbst wenn es verschiedene Spaltennamen gibt, möchte ich @ kopier Nm Spaltendaten der ersten Datentabelle zur SpalteNam der zweiten DataTable und SpalteHinzufüge Daten der ersten Datentabelle in SpalteAdress der zweiten Datentabelle.

Kurz gesagt, wie können Spaltendaten von einer Datentabelle in eine andere kopiert werden, selbst wenn für beide Datentabellen unterschiedliche Spaltennamen wie @ vorhanden sin Nm ist der Spaltenname der ersten DataTable undNam ist der Spaltenname der zweiten DataTable, dann die Daten der Spalte Nm sollte in die Spalte @ kopiert werdNam.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage