找回密码
 立即注册

QQ登录

只需一步,快速开始

zhuxialiang

论坛元老

25

主题

75

帖子

1万

积分

论坛元老

积分
12575

活字格认证

zhuxialiang
论坛元老   /  发表于:2014-7-12 14:40  /   查看:13361  /  回复:15
DataGridComboBoxColumn中选定值以后,会触发那个事件?

15 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2014-7-14 14:17:00
沙发
回复 1楼zhuxialiang的帖子

请使用以下代码获取:
  1.         void grid_BeganEdit(object sender, DataGridBeganEditEventArgs e)
  2.         {
  3.             if (e.Column.Name == "CountryId")
  4.             {
  5.                 var combo = e.EditingElement as C1ComboBox;

  6.                 combo.SelectedItemChanged += combo_SelectedItemChanged;
  7.             }
  8.         }

  9.         void combo_SelectedItemChanged(object sender, PropertyChangedEventArgs<object> e)
  10.         {
  11.         }
复制代码


参考示例:

本帖子中包含更多资源

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

x
回复 使用道具 举报
zhuxialiang
论坛元老   /  发表于:2014-7-16 21:20:00
板凳

高手,上述代码有问题呀,请帮忙看看,见附件。

回复 2楼iceman的帖子

高手,上述代码有问题呀,请帮忙看看,见附件。

本帖子中包含更多资源

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

x
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-7-17 18:38:00
地板
回复 3楼zhuxialiang的帖子

3# 中的 DataGridComboBoxColumn 数据绑定有问题,Demo 中绑定了整个表单,请着重参考:

  1.         private void grid_AutoGeneratingColumn(object sender, C1.WPF.DataGrid.DataGridAutoGeneratingColumnEventArgs e)
  2.         {
  3.             if (e.Property.Name == &quot;CountryId&quot;)
  4.             {
  5.                 _colCountry.DisplayMemberPath = &quot;Name&quot;;
  6.                 _colCountry.SelectedValuePath = &quot;Id&quot;;
  7.                 _colCountry.SortMemberPath = &quot;CountryId&quot;;
  8.                 _colCountry.FilterMemberPath = &quot;CountryId&quot;;
  9.                 _colCountry.Header = &quot;Country&quot;;
  10.                 _colCountry.Binding = new Binding() { Path = new PropertyPath(&quot;CountryId&quot;), Mode = BindingMode.TwoWay };
  11.                 _colCountry.ItemsSource = Country.AllCountries;
  12.                 e.Column = _colCountry;
  13.             }
  14.             else if (e.Property.Name == &quot;RegionId&quot;)
  15.             {
  16.                 _colRegion.DisplayMemberPath = &quot;Name&quot;;
  17.                 _colRegion.SelectedValuePath = &quot;Id&quot;;
  18.                 _colRegion.SortMemberPath = &quot;RegionId&quot;;
  19.                 _colRegion.FilterMemberPath = &quot;RegionId&quot;;
  20.                 _colRegion.Header = &quot;Region&quot;;
  21.                 _colRegion.Binding = new Binding() { Path = new PropertyPath(&quot;RegionId&quot;), Mode = BindingMode.TwoWay };
  22.                 _colRegion.ItemsSource = Region.AllRegions;
  23.                 e.Column = _colRegion;
  24.             }
  25.         }
复制代码
回复 使用道具 举报
zhuxialiang
论坛元老   /  发表于:2014-7-19 11:34:00
5#
回复 4楼iceman的帖子

专家,能否在我的dame上进行完善,我不想通过绑定的方式实现该功能,我想通过单独方式进行实现。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-7-22 10:29:00
6#
回复 5楼zhuxialiang的帖子

在绑定 GradeID 的时候添加一行代码:
  1.                 e.Column = comboCol;
复制代码


Demo:

本帖子中包含更多资源

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

x
回复 使用道具 举报
zhuxialiang
论坛元老   /  发表于:2014-7-22 18:26:00
7#
回复 6楼iceman的帖子

厉害了,一行代码就把问题给解决了。
接下去我想解决另外一个问题,当班级重新选择后,该行的学生C1ComboBox绑定的列表重新设置,谢谢。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-7-23 11:14:00
8#
回复 7楼zhuxialiang的帖子

“接下去我想解决另外一个问题,当班级重新选择后,该行的学生C1ComboBox绑定的列表重新设置,谢谢。 ”

这个就可以使用2#中的代码设置了,请问遇到了什么问题吗?
回复 使用道具 举报
zhuxialiang
论坛元老   /  发表于:2014-7-23 11:56:00
9#
1)我想知道当前编辑的行对象及行号;
2)我想知道当前编辑的行中学生列中的C1ComboBox对象如何获得?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-7-23 17:53:00
10#
回复 9楼zhuxialiang的帖子

获取方式请参考代码:

  1.         void combo_SelectedItemChanged(object sender, PropertyChangedEventArgs<object> e)
  2.         {
  3.             int rowIndex = this.c1DataGrid1.CurrentCell.Row.Index;
  4.             int colIndex = this.c1DataGrid1.CurrentCell.Column.Index;
  5.             C1ComboBox cb = sender as C1ComboBox;
  6.             MessageBox.Show(e.NewValue.ToString());
  7.         }

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