Hinzufügen einer Zeile zur Tabelle von spät gebundenem MS Word
-
29-10-2019 - |
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
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/