Frage

Ich muss einer Tabelle in spät begrenztem MS Word eine Zeile hinzufügen.Den Code finden Sie hier ...

Auf dem Code sehen Sie, dass ich Code für die Funktion public void AddNewRow(int tableId) implementieren muss.

Hier muss ich eine neue BLANK-Zeile hinzufügen, da die Anzahl der Zeilen, die ich zur Tabelle hinzufügen werde, je nach DataSet variiert.

Irgendeine Idee, wie es geht ...?Besser, wenn Sie Code freigeben können ...

(Andere Codebereiche funktionieren einwandfrei)

Ich verwende .Net Version 2.0

War es hilfreich?

Lösung

Ich habe selbst eine Antwort gefunden, denke, das wird euch allen hilfreich sein ...

public void AddNewRow(int tableId, int rowCount)
    {
        object[] oParams = new object[1];
        oParams[0] = tableId;
        object table_ = tables.GetType().InvokeMember("Item",
        BindingFlags.InvokeMethod,
        null,
        tables,
        oParams);
        object rows = table_.GetType().InvokeMember("Rows",
        System.Reflection.BindingFlags.GetProperty,
        null,
        table_,
        null);
        oParams = new object[1];
        if (rowCount == 1)
        {
            object row = rows.GetType().InvokeMember("Add",
            BindingFlags.InvokeMethod,
            null,
            rows,
            null);
        }
        else
        {
            for (int i = 0; i < rowCount; i++)
            {
                object row = rows.GetType().InvokeMember("Add",
            BindingFlags.InvokeMethod,
            null,
            rows,
            null);
            }
        }
    }

Andere Tipps

Table table = tables[tableid];

  for (int i = 0; i < 20; i++) // I took it 20 just for example
   {
     Row row = table.Rows.Add();                   
   }

Weitere Informationen finden Sie unter folgendem Link

http://jgvimalan.wordpress.com/2011/02/08/add-rows-to-table-in-ms-word-document-using-c/

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top