infopath 用c#获得重复表(repeat table)数据---急啊!在线等!--多谢!

lmdotnet 2008-07-24 03:12:10
我按照网上的例子做了一个表单:
我只在infopath的form中拖入了一个“重复表:my:group24”(ViewContext:Ctrl36),该重复表中拖入了一个“textbox”(ViewContext:Ctrl37)

代码如下:

using Microsoft.Office.InfoPath;
using System;
using System.Windows.Forms;
using System.Xml;
using System.Xml.XPath;
using mshtml;


using System.Runtime.InteropServices;

namespace 模板1
{
public partial class FormCode
{
public void InternalStartup()
{
EventManager.FormEvents.Submit += new SubmitEventHandler(FormEvents_Submit);
}

public void FormEvents_Submit(object sender, SubmitEventArgs e)
{

XPathNavigator xn = this.MainDataSource.CreateNavigator();
XPathNavigator xProductOfType1 = xn.SelectSingleNode("/my:myFields/my:group23/my:group24[1]", this.NamespaceManager);

CurrentView.SelectNodes(xProductOfType1, xProductOfType1, "CTRL36");

XPathNodeIterator contextNodes = CurrentView.GetContextNodes(xProductOfType1, "CTRL36");
foreach (XPathNavigator contextNode in contextNodes)
{
MessageBox.Show(contextNode.Name);
MessageBox.Show(contextNode.InnerXml);
MessageBox.Show(contextNode.Value);
}

e.CancelableArgs.Cancel = false;

}
}
}

测试时我通过插入行输入了3行数据(1、2、3),调试结果:循环第一次正常显示textbox中的数据,第二次本应该显示第二行的数据,可结果直接显示了重复表(my:group24)所有的数据。


急啊,都弄了好几天了,请帮忙!!!多谢!
...全文
304 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
DJ2008 2009-07-29
  • 打赏
  • 举报
回复
一年了,你应该解决了吧
沐NeMo 2008-07-28
  • 打赏
  • 举报
回复
这个看对你有没有帮助:
http://support.microsoft.com/kb/896451/zh-cn

感觉infopath不错哦。可以跟excel access结合的。爽。有时间做一下。
lmdotnet 2008-07-28
  • 打赏
  • 举报
回复
没人知道吗?
沐NeMo 2008-07-26
  • 打赏
  • 举报
回复
infopath没有处理过。
word excel还可以。呵呵。

5,174

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 Office开发/ VBA
社区管理员
  • Office开发/ VBA社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧