找回密码
 立即注册

QQ登录

只需一步,快速开始

iceman

社区贡献组

270

主题

1万

帖子

1万

积分

社区贡献组

积分
19311

活字格认证微信认证勋章元老葡萄

iceman
社区贡献组   /  发表于:2015-8-3 12:07  /   查看:5888  /  回复:7
您好,我在Form窗口上面拖放了一个spread控件,然后在Form的构造函数中进行的如下的设置,
  1.     public ReportForm(Context context, ReportNode reportNode, string reportName)
  2.         {
  3.             this._isGenerating = true;
  4.             InitializeComponent();
  5.             FpSpread.SuspendLayout();
  6.             SetStyle(
  7.                 ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer, true);
  8.             ReportFileName = reportName;
  9.             ReportNode = reportNode;
  10.             if (string.IsNullOrEmpty(reportName))
  11.             {
  12.                 return;
  13.             }
  14.             Text = Path.GetFileName(reportName);
  15.             if (context != null)
  16.             {
  17.                 Context = context;
  18.                 InitReportView(reportNode);
  19.             }
  20.             FpSpread.Sheets.Clear();
  21.             storeSheet = new SheetView(ReportUtil.StoreSheetName) {Protect = true, Visible = false};
  22.             FpSpread.Sheets.Add(storeSheet);
  23.             FpSpread.TabStripInsertTab = false;
  24.             FpSpread.TabStrip.Editable = false;
  25.             FpSpread.EnableCrossSheetReference = true;
  26.             FpSpread.AllowUserFormulas = true;
  27.             FpSpread.AllowCellOverflow = false;
  28.             FpSpread.AllowEditOverflow = true;
  29.             FpSpread.AllowSheetMove = false;
  30.             FpSpread.AutoClipboard = true;
  31.             FpSpread.AutoLaunchSpreadDesigner = false;
  32.             reportNode.ReportView = FpSpread;
  33.         }
复制代码


该代码是在后台线程中创建的,在创建该窗口的时候
执行到:"FpSpread.AutoLaunchSpreadDesigner = false;
"的时候报了一个如下的错误
System.FormatException: 该字符串未被识别为有效的布尔值。
   在 System.Boolean.Parse(String value)
   在 FarPoint.Win.Spread.FpSpread.set_AutoLaunchSpreadDesigner(Boolean value)
请问是什么原因,这个问题不是很容易出来,我运行环境为Farpoint7 V4版本

7 个回复

倒序浏览
frank.zhang
社区贡献组   /  发表于:2015-8-3 14:58:00
沙发
您好,
在代码中,您引用了一些其它位置的代码,我们经过删除后部分代码,运行起来,没有能够重现这个问题。
  1.         private void Form1_Load(object sender, EventArgs e)
  2.         {
  3.             ReportForm();
  4.         }
  5.         public void ReportForm()
  6.         {
  7.             fpSpread1.Sheets.Clear();
  8.             SheetView storeSheet = new SheetView("test") { Protect = true, Visible = true };
  9.             fpSpread1.Sheets.Add(storeSheet);
  10.             fpSpread1.TabStripInsertTab = false;
  11.             fpSpread1.TabStrip.Editable = false;
  12.             fpSpread1.EnableCrossSheetReference = true;
  13.             fpSpread1.AllowUserFormulas = true;
  14.             fpSpread1.AllowCellOverflow = false;
  15.             fpSpread1.AllowEditOverflow = true;
  16.             fpSpread1.AllowSheetMove = false;
  17.             fpSpread1.AutoClipboard = true;
  18.             fpSpread1.AutoLaunchSpreadDesigner = false;
  19.         }
复制代码

您是否方便提供一个能够重现这个问题的例子程序,以节约查找问题和解决问题的时间。
回复 使用道具 举报
menghuanyunxia
高级会员   /  发表于:2015-8-3 15:58:00
板凳
这个问题很难重现,就出现了一次
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-8-3 17:51:00
地板
您好,
这个问题在出现的时候,还有其它什么操作吗?
回复 使用道具 举报
menghuanyunxia
高级会员   /  发表于:2015-8-5 17:47:00
5#
就是在Form窗口的构造函数中,添加了一个fspread控件,并且设置了该属性,就报了这个错误,不过创建该Form窗口是在后台线程非主界面线程创建
回复 使用道具 举报
menghuanyunxia
高级会员   /  发表于:2015-8-5 17:48:00
6#
我怀疑Spread控件中使用了多线程,在设置当前属性的时候是否导致多线程问题?
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-8-6 14:28:00
7#
您好,
在Spread中是使用了多线程,但是不能够确定多线程跟这个问题到底怎么影响的,或者说,不能够确定到底是哪段代码引起这个问题的?
我们也尝试能够重现这个问题,但是确实没有能够重现。我们修复问题的流程,也是在重现问题后,对代码进行跟踪,从而定位这个问题到底出在哪?
现在由于无法重现,导致这个问题没有办法继续跟踪下去。
现在能够做的只是对问题做一些推测,也无法证实是否真的能够解决问题。
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-8-13 17:14:00
8#
为了给你提供更优质的服务,请对本次服务进行评分。
我们会认真对待你提出的宝贵意见,谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部