找回密码
 立即注册

QQ登录

只需一步,快速开始

安心海叶

中级会员

66

主题

255

帖子

717

积分

中级会员

积分
717

活字格认证微信认证勋章

安心海叶
中级会员   /  发表于:2015-8-28 17:02  /   查看:15246  /  回复:23
现在我的DataGrid没有数据,属性没有声明,能不能手动添加属性,将对应的属性值填在DataGrid的列中?实现有数据时,动态添加列,没有数据时,不添加数据?

23 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2015-8-28 18:31:00
沙发
回复 1楼安心海叶的帖子

问题已经查收,进一步调查后反馈给你结果。
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-8-31 15:11:00
板凳
回复 1楼安心海叶的帖子

你好。
从你的描述来看,你想实现的是业务逻辑方面的功能。
另外不太理解什么是属性没有声明?具体的是DataGrid的什么属性没有声明?
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
安心海叶
中级会员   /  发表于:2015-8-31 15:47:00
地板
回复 3楼Alice的帖子

感谢回复~要实现的确实是业务逻辑的功能,但是我们不能确定DataGrid能不能实现这样的功能。我们要实现的是:初始化DataGrid时,没有数据,所以DataGrid为空;当我们从外部采集到一个List的数据时,DataGrid的数据源更新,把它放在最后的一列中;如果没有从外部采集到数据,那么DataGrid始终为空;如果采集了多次数据,就依次排列到DataGrid的列中。依照我的理解是DataGrid必须先有属性,这样创建的列才能绑定到这个属性,然后将采集到List数据也绑定到这个属性,更新DataGrid的数据源,但是我不知道能不能实现这个功能?
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-8-31 18:23:00
5#
回复 4楼安心海叶的帖子

谢谢你的描述。
你的业务逻辑,我能找到的基本的思路如下:
将AutoGenerateColumns设置为false,这个时候设置DataSource进行数据绑定就不会自动生成列。
你可以根据你的数据源情况(这里你需要去判断数据源里的数据,并得出结论),当数据源有数据的时候,就给C1DataGrid的Columns添加列,并通过DataGridBoundColumn的Binding属性指定对应数据源的字段。获取到的数据字段都可以依次添加。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
安心海叶
中级会员   /  发表于:2015-9-2 09:36:00
6#
回复 5楼Alice的帖子

我不太能理解”通过DataGridBoundColumn的Binding属性指定对应数据源的字段“,意思是数据源中的字段都是事先声明好的吗?如果从外部连续采集了10次或更多次数据,那就得事先声明这些字段了,并且在产生数据的时候赋予对应字段的值吗?那将使DataGrid的绑定功能显得异常笨拙,重复代码行数非常多。因为我们每次采集的数据都是重复性的工作,只是放在了DataGrid的不同的列,能不能模拟数据给予demo解答?非常感谢~
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-9-2 12:32:00
7#
回复 6楼安心海叶的帖子

DataGrid的数据绑定分为两种:
1.设置数据源,然后AutoGenearateColumns为true,会自动生成列然后进行绑定。
2.设置数据源,但AutoGenerateColumns为false,这个时候不会为相关字段生成列。至于你要绑定到什么字段,生成几列,都是根据需求,使用Column的Bound属性指定数据源里的字段。

这些在我们随机安装示例里都有演示,路径:
\Documents\ComponentOne Samples\WPF\C1.WPF.DataGrid\CS\DataGridSamples

如果你的需求比较特殊,请提供一个模拟你场景的Demo,然后我们再帮你看看是否可以实现。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
安心海叶
中级会员   /  发表于:2015-9-8 11:01:00
8#
回复 7楼Alice的帖子

您好!
     我已经将demo上传,里面标注了我不知道如何实现的内容,请帮忙~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-9-8 12:16:00
9#
回复 8楼安心海叶的帖子

谢谢提供的demo,你的问题我们收到了。
测试demo后给你反馈。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-9-8 14:45:00
10#
回复 9楼Alice的帖子

你好。从你的Demo并未看出你的数据源的采集和动态的变化。
拿你的Demo来看,你是通过GenerateData方法去采集数据的?我的理解,你是不是在SVCParaData中有Id,Name,Unit, Pre,Actual等字段,在运行时候,这些字段是变化的,比如可能会增加一个名为Price的字段,这个时候你期望C1DataGrid能够自动添加这个字段?
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部