C# 刷新幻灯片主视图

C# 刷新幻灯片主视图,c#,office-interop,C#,Office Interop,我正在从数据库更新powerpoint 2010幻灯片(可旋转形状类型)上的表格数据。我正在使用chart.Refresh成功刷新包含图表的幻灯片母版(msochart)。我想对表格和形状类型做同样的处理。但是表没有刷新方法,并且在主幻灯片视图上成功更新后,我的幻灯片主视图将保持不刷新(更新)。 我正在使用office 2010的C#4.0互操作。 知道如何刷新表格幻灯片主视图吗? 找到了解决方案。当没有刷新方法时,我会做一个hack: sh.宽度=sh.宽度+1; sh.宽度=sh.宽度-1

我正在从数据库更新powerpoint 2010幻灯片(可旋转形状类型)上的表格数据。我正在使用chart.Refresh成功刷新包含图表的幻灯片母版(msochart)。我想对表格和形状类型做同样的处理。但是表没有刷新方法,并且在主幻灯片视图上成功更新后,我的幻灯片主视图将保持不刷新(更新)。 我正在使用office 2010的C#4.0互操作。
知道如何刷新表格幻灯片主视图吗?
找到了解决方案。当没有刷新方法时,我会做一个hack: sh.宽度=sh.宽度+1; sh.宽度=sh.宽度-1

   public void UpdateTable(Shape sh, System.Data.DataTable dt)
    {
        try
        {
            //Supprimer toutes les lignes existantes
            if (sh.Table.Rows.Count >= 3)
            {
                int rowCount = sh.Table.Rows.Count;
                for (int i = 3; i <= rowCount; i++)
                {
                    sh.Table.Rows[sh.Table.Rows.Count].Delete();
                }

                //Vider le contenu de la première ligne
                for (int j = 1; j < sh.Table.Columns.Count; j++)
                {
                    sh.Table.Cell(2, j).Shape.TextFrame.TextRange.Text = "";
                }
            }

            //Parcourir les lignes
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                sh.Table.Rows.Add(sh.Table.Rows.Count);
                //Parcourir les colonnes
                for (int j = 0; j < dt.Columns.Count; j++)
                {
                    sh.Table.Cell(i + 2, j + 1).Shape.TextFrame.TextRange.Text = dt.Rows[i][j].ToString();
                }
            }
            sh.Table.Rows[sh.Table.Rows.Count].Delete();

            sh.Width = sh.Width + 1;
            sh.Width = sh.Width - 1;

            Marshal.ReleaseComObject(sh);
        }
        catch (Exception exp)
        {
            Logger.Error(exp);
        }

    } 
public void UpdateTable(Shape sh,System.Data.DataTable dt)
{
尝试
{
//供应商在推销现有产品
如果(sh.Table.Rows.Count>=3)
{
int rowCount=sh.Table.Rows.Count;
对于(int i=3;i