HopeFul 发表于 2019-4-4 14:30:52

WPF c1:C1DataGrid中SelectedItem="{Binding mUserSelectedItem}"

wpf在使用c1:C1DataGrid时出现情况。binding 表格的选中行信息,当我选中行时ViewMode中binding的数据 没有改变;
我把c1:C1DataGrid 换成wpf 自带的DataGrid 就可以使用,请指教。
是C1的控件限制了这个操作还是其他的问题。
    我现在的需求是选中表格一行数据,ViewMode可以得到表格当前选中行 ,如有其它的方法虚心请教。我使用的是MVVM模式
    一下是我现在的代码


前台代码------------------------------------------------------------------
<c1:C1DataGrid x:Name="GridUserList" Grid.Row="1" ItemsSource="{Binding mGridUserList}"
                        SelectedItem="{Binding mUserSelectedItem}" AutoGenerateColumns="False">
                  <c1:C1DataGrid.Columns>
                        <c1https://gcdn.grapecity.com.cn/static/image/smiley/default/biggrin.gifataGridTextColumn Binding="{Binding Code}" Header="用户代码" Width="*"></c1https://gcdn.grapecity.com.cn/static/image/smiley/default/biggrin.gifataGridTextColumn>
                        <c1https://gcdn.grapecity.com.cn/static/image/smiley/default/biggrin.gifataGridTextColumn Binding="{Binding Name}" Header="用户名称" Width="*"></c1https://gcdn.grapecity.com.cn/static/image/smiley/default/biggrin.gifataGridTextColumn>
                        <c1https://gcdn.grapecity.com.cn/static/image/smiley/default/biggrin.gifataGridTextColumn Binding="{Binding Status}" Header="用户状态" Width="*"></c1https://gcdn.grapecity.com.cn/static/image/smiley/default/biggrin.gifataGridTextColumn>
                        <c1https://gcdn.grapecity.com.cn/static/image/smiley/default/biggrin.gifataGridTextColumn Binding="{Binding DefaultUserGroup}" Header="用户职责" Width="*"></c1https://gcdn.grapecity.com.cn/static/image/smiley/default/biggrin.gifataGridTextColumn>
                        <c1https://gcdn.grapecity.com.cn/static/image/smiley/default/biggrin.gifataGridTemplateColumn Header="所属部门">
                            <c1https://gcdn.grapecity.com.cn/static/image/smiley/default/biggrin.gifataGridTemplateColumn.CellTemplate>
                              <DataTemplate>
<Button Content="编辑"Style="{StaticResource ButtonUpdate}" Command="{Binding DataContext.mSelectUserGroupCommand,
                                        RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=c1:C1DataGrid}}"></Button>
                                    </DataTemplate>
                            </c1:DataGridTemplateColumn.CellTemplate>
                        </c1:DataGridTemplateColumn>
                        <c1:DataGridTemplateColumn Header="编辑">
                            <c1:DataGridTemplateColumn.CellTemplate>
                              <DataTemplate>
                                    <Button Content="编辑"Style="{StaticResource ButtonUpdate}" Click="ButEdit_Click" ></Button>
                              </DataTemplate>
                            </c1:DataGridTemplateColumn.CellTemplate>
                        </c1:DataGridTemplateColumn>
                  </c1:C1DataGrid.Columns>
                </c1:C1DataGrid>

ViewMode代码-------------------------------------------------------------
User _mUserSelectedItem;
      /// <summary>
      /// 记录当前选中的用户信息
      /// </summary>
      public User mUserSelectedItem
      {
            get
            {
                return _mUserSelectedItem;
            }
            set
            {
                _mUserSelectedItem = value;
                OnPropertyChanged("mUserSelectedItem");
            }
      }

JeffryLI 发表于 2019-4-8 12:13:01

您好,这个代码无法呈现您的问题,可以直接给我们一个能运行的demoma ?还有请下次提交代码的时候使用代码标签,这样不会有乱码,谢谢您。

HopeFul 发表于 2019-4-8 14:04:44

JeffryLI 发表于 2019-4-8 12:13
您好,这个代码无法呈现您的问题,可以直接给我们一个能运行的demoma ?还有请下次提交代码的时候使用代码 ...

能运行的代码无法提供,我以上需求C1是否能满足。wpf自带控件可以使用SelectedItem,但是C1 的却不可以

Richard.Ma 发表于 2019-4-17 15:24:31

您好,我这里测试SelectedItem是可以绑定的
从你的代码来看,应该是需要设置Mode=TwoWay
SelectedItem="{Binding Path=SelectPerson,Mode=TwoWay}"

页: [1]
查看完整版本: WPF c1:C1DataGrid中SelectedItem="{Binding mUserSelectedItem}"