找回密码
 立即注册

QQ登录

只需一步,快速开始

安心海叶

中级会员

66

主题

255

帖子

717

积分

中级会员

积分
717

活字格认证微信认证勋章

安心海叶
中级会员   /  发表于:2017-11-24 17:23  /   查看:7591  /  回复:19
您好!

        对C1FlexGrid定义如下,

            <c1:C1FlexGrid.Columns>
                <c1:Column HorizontalAlignment="Right" Binding="{Binding Data1.Name}">
                    <c1:Column.CellEditingTemplate>
                        <DataTemplate>
                            <ComboBox HorizontalAlignment="Right" VerticalAlignment="Center"
                                      IsSynchronizedWithCurrentItem="True">
                            </ComboBox>
                        </DataTemplate>
                    </c1:Column.CellEditingTemplate>
                </c1:Column>

          </c1:C1FlexGrid.Columns>

想在后台操作第一列内容如下:

            DataTemplate dataTemplate = flexGrid.Columns[0].CellEditingTemplate;           
            ComboBox cmb = dataTemplate.LoadContent() as ComboBox;

怎么也不能设置cmb的数据源,是怎么回事?

请求帮助~


19 个回复

正序浏览
JeffryLI
葡萄城公司职员   /  发表于:2017-11-30 10:29:20
20#
安心海叶 发表于 2017-11-30 09:19
你好:

代码预知条件:ComboBox的数据源已存储在xml配置文件中;

您好,是这样的,业务肯定您是最熟悉的,但是我在您的demo上尝试了没有效果,所以还是建议咱们从简单的demo来开始,先撇开您说的读取xml的配置,我们就先绑定个简单的数据源,先达到预期的我们要的结果,我们再想着跟换您说的这种配置xml的数据源。希望能帮到您。
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
安心海叶
中级会员   /  发表于:2017-11-30 09:19:01
19#
JeffryLI 发表于 2017-11-29 16:58
绑定到您所绑定数据源的字段上,您给那个demo里面数据有点乱,而且您也没有继承INotifyPropertyChanged, ...

你好:

代码预知条件:ComboBox的数据源已存储在xml配置文件中;

输出: Load数据, 显示控件。但出现这个问题

所以Demo数据本身不乱,这种情况下应该可以处理
回复 使用道具 举报
JeffryLI
葡萄城公司职员   /  发表于:2017-11-29 16:58:59
18#
安心海叶 发表于 2017-11-29 15:56
谢谢建议~

我想请问一下,SelectedValue和下面定义的显示项怎么建立关联?

绑定到您所绑定数据源的字段上,您给那个demo里面数据有点乱,而且您也没有继承INotifyPropertyChanged,也不会发生变化的。先做一个简单示例吧。
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
安心海叶
中级会员   /  发表于:2017-11-29 15:56:20
17#
JeffryLI 发表于 2017-11-29 15:14
您好,您的数据项绑定有点乱,初步判断是您的数据源绑定没有关联,根源在于SelectedValue跟他下面定义的 ...

谢谢建议~

我想请问一下,SelectedValue和下面定义的显示项怎么建立关联?

因为是从配置文件读出来的,所以会有这个问题,还请帮忙解决
回复 使用道具 举报
JeffryLI
葡萄城公司职员   /  发表于:2017-11-29 15:14:42
16#
安心海叶 发表于 2017-11-29 10:48
但是,现在有一个新的问题:
如果像以下这样绑定数据,当双击Cell时,ComboBox首先为空,这个的情况?
...

您好,您的数据项绑定有点乱,初步判断是您的数据源绑定没有关联,根源在于SelectedValue跟他下面定义的显示项没建立关联,您可以把 <local:AuxiDiagnosisData 做成数据源绑定上应该会好,或者放一个简单的数据源,是一个,您的数据组织层次有点深,而且AuxiDiagnosisData这个对象没有继承INotifyPropertyChanged,改变完选项值之后不会双向绑定。希望能帮到您。
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
安心海叶
中级会员   /  发表于:2017-11-29 10:48:49
15#
JeffryLI 发表于 2017-11-28 17:45
我的意思是谢谢你提供的demo,我验证后给您回复。

但是,现在有一个新的问题:
如果像以下这样绑定数据,当双击Cell时,ComboBox首先为空,这个的情况?


代码:

本帖子中包含更多资源

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

x
回复 使用道具 举报
安心海叶
中级会员   /  发表于:2017-11-29 10:23:11
14#
JeffryLI 发表于 2017-11-28 17:45
我的意思是谢谢你提供的demo,我验证后给您回复。

你好!

问题已解决:
        private void _flex_PrepareCellForEdit(object sender, CellEditEventArgs e)
        {
            DependencyObject obj = e.Editor as DependencyObject;
            if (null == e.Editor)
            {
                return;
            }
            List<System.Windows.Controls.ComboBox> cmbLt = FindVisualChild<System.Windows.Controls.ComboBox>(obj);
            foreach (var cmb in cmbLt)
            {
                cmb.SetBinding(System.Windows.Controls.ComboBox.ItemsSourceProperty, new Binding()
                {
                    Path = new PropertyPath("Categories"),
                    Source = this.Resources["_vm"],
                });
            }
        }

回复 使用道具 举报
JeffryLI
葡萄城公司职员   /  发表于:2017-11-28 17:45:22
13#

我的意思是谢谢你提供的demo,我验证后给您回复。
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
安心海叶
中级会员   /  发表于:2017-11-28 17:30:55
12#

???
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部