找回密码
 立即注册

QQ登录

只需一步,快速开始

风雨

新手上路

2

主题

4

帖子

44

积分

新手上路

积分
44
  • 40

    金币

  • 主题

  • 帖子

最新发帖
风雨
新手上路   /  发表于:2015-3-10 16:58  /   查看:8455  /  回复:7
1.如何动态添加tab,即根据查询结果来添加数量不定的tab选项,以及tab选项里的内容如何设置;
2.表格grid修改或删除当前行,即 修改删除按钮是在表格的最后一个单元格中,如当点击修改时 如何获取当前行的某一单元格的值?以及当要获取的单元格设置为隐藏(即column的visible属性设置为false)时,如何获取其值? 另外,grid表格是否必须一次完全加载,当数据量较大时能不能只加载当前能显示的数据,在点击翻页时再加载其他数据呢?
3.accordion控件,如何通过循环遍历的方式实现在点击accordion时的相关内容刷新,而不用将每个accordion下的子项都用id标志 通过id值匹配的方式加载相关内容呢?
麻烦大神能提供一个展示demo 发给我,非常感谢!

7 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2015-3-10 18:04:00
沙发
回复 1楼风雨的帖子

我们的官网有产品文档和在线演示,你的问题这些问题可以在这里面找到答案。
wijmo中文官网地址:http://wijmo.gcpowertools.com.cn/
产品文档地址:http://wijmo.gcpowertools.com.cn/docs/wijmo/

1.创建动态的Tabs,请参考产品文档:
http://wijmo.gcpowertools.com.cn ... ateDynamicTabs.html
2.请参考Grid文档:
http://wijmo.gcpowertools.com.cn/docs/wijmo/#GridQuickStart.html
有关选择获取单元格值得问题,请参考在线示例:
http://wijmo.gcpowertools.com.cn ... amp;amp;sample=选择
有关数据大分页的问题,请参考在线示例:
http://wijmo.gcpowertools.com.cn ... amp;amp;sample=分页

Grid有很多示例,你的其他疑惑也可以通过在线示例解决:
http://wijmo.gcpowertools.com.cn ... amp;amp;sample=概述

3.Accordion控件的示例请参考在线示例:
http://wijmo.gcpowertools.com.cn ... amp;amp;sample=概述
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-3-11 12:16:00
板凳
回复 1楼风雨的帖子

从目前来看,当隐藏列的时候,在前台该行数据是不会渲染。
通过Selection获取行数据的时候,隐藏列不会获取。
所以考虑通过命令的方式获取改行的数据。比如点击按钮,就会弹出本行相关列的数据。但我未对隐藏该列后是否可以获取数据做验证。
示例:http://wijmo.gcpowertools.com.cn ... sample=含有命令的列
代码:
  1. <script id="scriptInit" type="text/javascript">
  2.         require(["wijmo.wijgrid"], function () {
  3.             $(document).ready(function () {

  4.                 // bind the grid
  5.                 $("#demo").wijgrid({
  6.                     allowKeyboardNavigation: false,
  7.                     highlightCurrentCell: false,
  8.                     selectionMode: "none",
  9.                     allowSorting: true,
  10.                     data: getData(12),
  11.                     columnsAutogenerationMode: "none",
  12.                     columns: [
  13.                         {
  14.                             headerText: "link",
  15.                             buttonType: "link",
  16.                             command: {
  17.                                 text: "Show contry",
  18.                                 click: onCommandInfoClick
  19.                             }
  20.                         },
  21.                         {
  22.                             headerText: "button",
  23.                             buttonType: "button",
  24.                             command: {
  25.                                 text: "Show country",
  26.                                 click: onCommandInfoClick
  27.                             }
  28.                         },
  29.                         {
  30.                             headerText: "imageButton",
  31.                             buttonType: "imageButton",
  32.                             command: {
  33.                                 text: "Show country",
  34.                                 iconClass: "ui-icon-info",
  35.                                 click: onCommandInfoClick
  36.                             }
  37.                         },
  38.                         {
  39.                             headerText: "image",
  40.                             buttonType: "image",
  41.                             command: {
  42.                                 iconClass: "ui-icon-info",
  43.                                 click: onCommandInfoClick
  44.                             }
  45.                         },
  46.                         { dataKey: "Country", headerText: "Country", dataType: "string" },
  47.                         { dataKey: "ProductName", headerText: "Product Name", dataType: "string" },
  48.                         { dataKey: "UnitPrice", headerText: "Unit Price", dataType: "currency" },
  49.                     ]
  50.                 });


  51.                 function onCommandInfoClick(e, args) {
  52.                     alert("Country: " + args.row.data.Country);
  53.                 }

  54.             });
  55.         });


  56.         // random data generators
  57.         function getData(count) {
  58.             var data = [];
  59.             var country = "USA,UK,Germany,Italy,Japan,Brazil,Canada".split(",");
  60.             var name = "Lorem,Ipsum,Dolor,Amet,Consectetur".split(",");
  61.             var suffix = "LLC,Inc".split(",");
  62.             for (var i = 0; i < count; i++) {
  63.                 data.push({
  64.                     TransactionID: i,
  65.                     Country: getString(country),
  66.                     ProductName: getString(name) + " " + getString(suffix),
  67.                     UnitPrice: Math.floor(getNumber(5, 10)),
  68.                     Quantity: Math.floor(getNumber(1, 5)) * 10,
  69.                     Discount: getNumber(0, 0.3),
  70.                     OrderDate: getDate(i),
  71.                     Overseas: Math.random() > 0.8
  72.                 });
  73.             }
  74.             return data;
  75.         }
  76.         function getString(arr) {
  77.             return arr[Math.floor((Math.random() * arr.length))];
  78.         }
  79.         function getNumber(lo, hi) {
  80.             return lo + Math.random() * (hi - lo);
  81.         }
  82.         function getDate(daysAgo) {
  83.             return new Date((new Date()).getTime() - daysAgo * 24 * 3600 * 1000);
  84.         }
  85.     </script>



  86.     <div class="container">
  87.         <div class="header">
  88.             <h2>Editing</h2>
  89.         </div>

  90.         <div class="main demo">
  91.             <!-- Begin demo markup -->
  92.             <table id="demo">
  93.             </table>
  94.             <!-- End demo markup -->

  95.             <div class="demo-options">
  96.                 <!-- Begin options markup -->
  97.                 <!-- End options markup -->
  98.             </div>
  99.         </div>
  100.         <div class="footer demo-description">
  101.             <p>
  102.                 这个例子演示了如何使用含有命令的列。
  103.             </p>
  104.         </div>
  105.     </div>
复制代码


下一步我们会尝试将Country列隐藏掉,然后是否还能够得到数据。如果有结果,会立即给你反馈。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-3-11 13:35:00
地板
回复 1楼风雨的帖子

通过我在3楼给出的示例,可以拿到隐藏列的数据。
我做了个示例验证这点。
示例在附件里。



点击按钮,可以获取到改行的数据,即使隐藏掉某列,依然可以获取到该列的数据。请尝试点击Country的CheckBox隐藏该列,然后在grid上点击按钮获取改行数据。

本帖子中包含更多资源

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

x
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
风雨
新手上路   /  发表于:2015-3-11 14:16:00
5#
回复 4楼Alice的帖子

恩谢谢您的回复。
不过除了grid之外的tab和accordion的问题如何解决呢?因为提供的在线链接打开后只显示核心功能、演示、源码几个字,但是看不到具体的演示效果和源码,不知道怎么回事?
另外,关于tree 我看到可以设置为复选框,不知道有没有单选框的呢?有日历控件,不知道有没有整合显示的时间控件(显示时分秒)呢?
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-3-11 16:20:00
6#
回复 5楼风雨的帖子


1.创建动态的Tabs,请参考产品文档:
http://wijmo.gcpowertools.com.cn ... ateDynamicTabs.html
在线示例:
http://wijmo.gcpowertools.com.cn ... ts/TabsDynamic.html
如果你不能查看,请下载附件的示例进行查看。



2.对有关Accordion的问题,我不知道理解的对不。
你的需求是,一开始不将所有数据加载到Accordion,而是点击的时候动态加载相应的数据?

本帖子中包含更多资源

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

x
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
风雨
新手上路   /  发表于:2015-3-11 17:15:00
7#
有关accordion的问题主要是:1.并不是说一开始不将所有数据加载到Accordion,而是一开始不将accordion下的可能的tree菜单链接的右侧相应内容不全部加载。左侧菜单的点击关联切换右侧内容 是以什么技术实现好呢?是用frame框架吗,点击某个节点对应一个frame界面?
2.初始化时自定义加载的样式,再次再单击的时候,初始化样式被删除,如何解决?
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-3-11 18:17:00
8#
回复 7楼风雨的帖子

1.从你的描述来看,Tree也可以实现你的需求。
Tree的示例:http://wijmo.gcpowertools.com.cn ... idgets/TreeCSS.html
附件所示一个简单的演示:


Carouse在线示例:
http://wijmo.gcpowertools.com.cn ... arkupScripting.html
附件是在线示例演示:


2.这个问题能提供一个重现问题的Demo么?我帮你看看。

本帖子中包含更多资源

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

x
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部