找回密码
 立即注册

QQ登录

只需一步,快速开始

FeddyHuang

注册会员

18

主题

35

帖子

169

积分

注册会员

积分
169
FeddyHuang
注册会员   /  发表于:2019-11-14 15:50  /   查看:6062  /  回复:10
1、asp.net Mvc 的FlexGrid控件,怎样动态绑定联动下拉列表。有没有demo或者官网文档如下图:
比如第一行的使用部门,我选择的是总经办,产品线的下拉列表只能选择(HGAA、HGBA)
比如第二行的使用部门,我选择的是财务部,产品线的下拉列表只能选择(HGDA、HGNA)
比如第三行的使用部门,我选择的是研发部,产品线的下拉列表只能选择(HGPA、HGRA)



本帖子中包含更多资源

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

x

10 个回复

正序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-11-21 09:42:39
11#
本帖最后由 Richard.Ma 于 2019-11-21 11:16 编辑

还是以demo中下面的页面来修改

在CustomGridEditor中生成的wijmo.input.ComboBox中,有一个gotFocus事件,目前通过这个事件来修改数据源,这样子显示出来的时候就是对应的city了
  1.     // create data maps
  2.     var countryMap = new wijmo.grid.DataMap(getCountries(), 'id', 'name');
  3.     //var cityMap = new wijmo.grid.DataMap(getCities(), 'id', 'name');
  4.     var city = getCities();
  5.     var theGrid = wijmo.Control.getControl('#theGrid');
  6.     theGrid.itemsSource = getData();
  7.     theGrid.columns[0].dataMap = countryMap;

  8.     // create an editor based on a ComboBox
  9.     var multiColumnEditor = new CustomGridEditor(theGrid, 'city', wijmo.input.ComboBox, {
  10.         headerPath: 'name',
  11.         displayMemberPath: 'name',
  12.         
  13.         itemsSource: city
  14.     });

  15.     // customize the ComboBox to show multiple columns
  16.     var combo = multiColumnEditor.control;
  17.     combo.listBox.formatItem.addHandler(function (s, e) {
  18.         e.item.innerHTML = '<table><tr>' +
  19.             '<td style="width:30px;text-align:right;padding-right:6px">' + e.data.id + '</td>' +
  20.             '<td style="width:100px;padding-right:6px"><b>' + e.data.name + '</b></td>' +
  21.             '<td style="width:100px;padding-right:6px">' + e.data.country +'</td>' +
  22.             '</tr></table>';
  23.     });
  24.     combo.gotFocus.addHandler(function () {
  25.         combo.itemsSource = getCitiesOfOneCountry();


  26.         });

  27.     function getCitiesOfOneCountry() {

  28.         
  29.         var arr = [];
  30.         cities = getCities(),
  31.         country = theGrid.collectionView.currentItem.country;
  32.         for (var i = 0; i < cities.length; i++) {
  33.             var city = cities[i];
  34.             if (city.country == country) {
  35.                 arr.push(city);
  36.             }
  37.         }
  38.         return arr;
  39.     };
复制代码



本帖子中包含更多资源

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

x
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-11-20 10:57:00
10#
好的,验证后给你回复
回复 使用道具 举报
FeddyHuang
注册会员   /  发表于:2019-11-19 22:02:53
9#
Richard.Ma 发表于 2019-11-19 10:54
抱歉,还需要和您确认一下,现在的需求是下面的哪一个呢?

1.datamap在前,多列的combo在后,通过datama ...

是第一种CustomGridEditor,但是联动的下拉框内容都需要格式化。如:科目可以下拉格式化(使用CustomGridEditor方式),下拉格式化显示编号+名称
单位码1、单位码2、单位码3、单位码4都是通过科目过滤的,也需要格式化显示。
目前使用您提供的方法:
1、var countryMap = new wijmo.grid.DataMap(getCountries(), 'id', 'name');
这种方式可以联动,但是不能格式化下拉内容。
2、CustomGridEditor这种可以格式化,但是没有getDisplayValues事件联动。
请指教,谢谢




本帖子中包含更多资源

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

x
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-11-19 10:54:31
8#
抱歉,还需要和您确认一下,现在的需求是下面的哪一个呢?

1.datamap在前,多列的combo在后,通过datamap触发combo的数据发生改变
2.多列的combo在前,datamap在后,通过combo触发datamap的数据发生变化,

如果是第二个需求的话那getDisplayValues是可以用的,所以您的需求应该是第一个吗?
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-11-18 18:10:57
7#
按理说这两个功能不会互相影响的,这个我需要验证一下,明天给你结果
回复 使用道具 举报
FeddyHuang
注册会员   /  发表于:2019-11-18 15:38:27
6#
Richard.Ma 发表于 2019-11-18 12:15
还是这个demo中,有一个页面是你需要的功能

目前我们使用的格式化也是CustomGridEditor,但是这个方法怎么触发FlexGrid联动getDisplayValues事件。我要的效果是问题1那个可以联动,但是下拉的数据可以格式化显示,谢谢。

本帖子中包含更多资源

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

x
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-11-18 12:15:44
5#
还是这个demo中,有一个页面是你需要的功能

本帖子中包含更多资源

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

x
回复 使用道具 举报
FeddyHuang
注册会员   /  发表于:2019-11-18 09:08:33
地板
Richard.Ma 发表于 2019-11-15 18:10
请参考这个demo:   ComponentOne Samples\ASP.NET MVC\v4.0\MVC\CS\HowTo\LearnMvcClient\LearnMvcClient
...

FlexGrid的DataMap这种下拉框,可以进行数据格式化吗?下拉显示编号-名称,选择后显示编号。跟单独的combobox这样。选择状态:
选中后:

本帖子中包含更多资源

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

x
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-11-15 18:10:23
板凳
请参考这个demo:   ComponentOne Samples\ASP.NET MVC\v4.0\MVC\CS\HowTo\LearnMvcClient\LearnMvcClient

本帖子中包含更多资源

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

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