安心海叶 发表于 2015-11-9 15:11:00

C1DataGrid问题

您好!我想问一下,如何在xmal文件中初始化一个3行3列的DataGrid,而不是在.cs文件中?

Alice 发表于 2015-11-9 17:06:00

回复 1楼安心海叶的帖子

谢谢对该问题的反馈。
请问您是需要xmal非绑定的模式么?cs和xmal中的接口都是一致的。
您可以使用Columns做列添加,代码参考:
<c1:C1DataGrid.Columns>
                <c1:DataGridTextColumn Width="300"></c1:DataGridTextColumn>
<c1:DataGridTextColumn Width="300"></c1:DataGridTextColumn>
<c1:DataGridTextColumn Width="300"></c1:DataGridTextColumn>
            </c1:C1DataGrid.Columns>
对于数据绑定模式,行是根据绑定的数据源自动添加了。
但是可以通过TopRows添加非绑定的行,里面可添加的有几种不同类型,可以根据需求选择,而且可以自定义模板。代码参考:
            <c1:C1DataGrid.TopRows>            
                <c1:DataGridRow/>
                <c1:DataGridRow/>
                <c1:DataGridRow/>
            </c1:C1DataGrid.TopRows>

请参考我们随机安装示例:
\Documents\ComponentOne Samples\WPF\C1.WPF.DataGrid\CS\DataGridSamples

安心海叶 发表于 2015-11-9 18:12:00

回复 2楼Alice的帖子

谢谢您的答复,我现在想实现在资源字典里定义一个DataGrid,初始化为3行3列,里面的数据全为空,根据您上述的写法,不能满足我的要求,因为没有指定ItemSource,CurrentCell也为Null,就会导致我的程序报错,不知道有没有什么方法实现?

Alice 发表于 2015-11-10 09:13:00

回复 3楼安心海叶的帖子

很抱歉不能重现您的问题。
请问报错的具体错误是什么?
请提供可以重现该问题Demo,我们帮您看看。

安心海叶 发表于 2015-11-10 09:52:00

回复 4楼Alice的帖子

您说不能重现文件,那您能提供在xaml文件中定义一个3行3列的数据为空的DataGrid的demo吗?

我想问一下,你们系统默认的,从工具箱拖拉C1DataGrid到xaml时,是怎么初始化的?

Alice 发表于 2015-11-10 11:09:00

回复 5楼安心海叶的帖子

谢谢您的反馈。
很抱歉没有讲清楚c1datagrid。默认c1datagrid初始化是个没有行和列空的。
它是通过数据绑定自动生成行和列,不能直接通过add等方法添加非绑定行(NewRow除外,WPF下的微软DataGrid也不支持非绑定模式)。
如果您是想通过非绑定的模式,生成表格,然后进行编辑操作,是无法实现的。因为在非绑定的模式下,c1datagrid的值无法记录和存储。
如果您仅仅是想生成行列显示信息,可以使用TopRows中,它不属于c1datagrid的行部分,是在顶端的固定行,用来添加header,合计,过滤等信息。
代码很简单,就是4楼提供的代码。demo如下:


如果是我对您的场景理解的不清楚,还请提供一个demo,告诉我您的场景是什么样子的,然后我们再帮您看看。

安心海叶 发表于 2015-11-10 17:11:00

回复 6楼Alice的帖子

谢谢回复,还是不满足我的需求,我自己再考虑考虑

Alice 发表于 2015-11-10 17:32:00

回复 7楼安心海叶的帖子

谢谢您的反馈。
页: [1]
查看完整版本: C1DataGrid问题