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