SetText 方法和 SetValue 方法的比较

SetText 方法和 SetValue 方法的比较

发布于 2012/11/13 00:00

Spread 使用过程中,我们会发现有很多方法的功能是相同的。它们是故意被设置成这样吗?它们之间有什么区别?下面我们将对 SetText 和 SetValue 进行同样的设置去测试它们之间的异同。在进行测试之前,让我先熟悉下 Text 属性和 SetText 方法。实际上它们的功能是相同的,只不过一个是属性,一个是方法。SetValue 和 Value 属性也是同样。但是,SetText 方法和 SetValue 方法之间究竟有什么不同呢?
下面,让我们看四行代码:

 
fpspread1.ActiveSheet.Cells(0,0).Text="hello";

fpspread1.ActiveSheet.SetText(0,0,"hello");

fpspread1.ActiveSheet.Cells(0,0).Value=19;

fpspread1.ActiveSheet.SetValue(0,0,19);
复制代码

第一行和第二行代码功能是相同的,第三行和第四行代码功能也是相同的。现在,让我们比较一下第二行和第四行的不同。

1. 正如我们所理解的那样,SetText 方法和 SetValue 方法都是给单元格设值的方法。"Text" 实际上定义在单元格中显示的内容,而 "Value" 实际上定义在单元格的 DataModel 中存储的内容。如果我们改变它们(Text 或者 Value),这两个值都将自动的改变。简单的说,如果我改变单元格的 Text 属性,Value 属性也随着改变,反之亦然。但是,当我说 Text 和 Value 之间存在区别时请不要惊讶。

2.SetText 方法只允许你给单元格设置一个字符串类型的值,而 SetValue 方法允许你给单元格设置任何类型的值。

3. SetValue 的内部处理过程要比 SetText 的处理过程更加迅速。SetValue 方法直接DataModel 交互存储单元格值,而 SetText 方法要先触发关于编辑和校验的事件更新显示界面,然后再存储单元格的值。所以,如果你想让 Spread 运行的更快,请使用 SetValue 或 Value 代替 SetText 或 Text。

4.关于 Text 和 Value 有一个有趣的事情。如果整个表单的单元格都没有文本去显示,Text 和Value 属性都被设置成 null。但是,当我们进入某个单元格的编辑模式时,这两个属性就改变了。如果不输入任何值,Text 属性被设置成空字符串,而 Value 属性仍然是空值。如果我们输入某些值,这两个属性都会获得我们输入的那个值。

关于葡萄城

葡萄城是专业的软件开发技术和低代码平台提供商,以“赋能开发者”为使命,致力于通过表格控件、低代码和BI等各类软件开发工具和服务,一站式满足开发者需求,帮助企业提升开发效率并创新开发模式。葡萄城开发技术始于1980年,40余年来始终聚焦软件开发技术,有深厚的技术积累和丰富的产品线。是业界能够同时赋能软件开发和低代码开发的企业。凭借过硬的产品能力、活跃的用户社区和丰富的伙伴生态,与超过3000家合作伙伴紧密合作,产品广泛应用于信息和软件服务、制造、交通运输、建筑、金融、能源、教育、公共管理等支柱产业。

推荐相关案例
推荐相关资源
关注微信
葡萄城社区二维码

关注“葡萄城社区”

活字格低代码二维码

关注“活字格低代码”

想了解更多信息,请联系我们, 随时掌握技术资源和产品动态