Question

J'ai besoin d'ajouter une ligne à une table sur le mot MS délimité tardif. Veuillez voir mon code ici...

Sur le code, vous pouvez voir que je dois implémenter le code pour la fonction public void AddNewRow(int tableId).

Ici, je dois ajouter une nouvelle ligne vierge, car le nombre de lignes que je vais ajouter à la table varie en fonction de l'ensemble de données.

Une idée comment faire ...? Mieux si vous pouvez partager le code ...

(Autres ares de code fonctionnant parfaitement)

J'utilise .net version 2.0

Était-ce utile?

La solution

J'ai trouvé la réponse à moi-même, je pense que cela vous sera utile à tous ...

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);
            }
        }
    }

Autres conseils

Table table = tables[tableid];

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

Reportez-vous au lien suivant pour plus d'informations

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top