找回密码
 立即注册

QQ登录

只需一步,快速开始

towant

高级会员

7

主题

24

帖子

1205

积分

高级会员

积分
1205

活字格认证

towant
高级会员   /  发表于:2015-1-7 14:38  /   查看:14577  /  回复:11
选中某个单元格下拉时,右下角会有一个小方框,其内容选项中有一项FillFormattingOnly(仅填充格式);
这种填充方式的方法如何调用呢?

11 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2015-1-7 17:19:00
沙发
回复 1楼towant的帖子

可以使用defaultDragFillType方法设置默认的类型为FillFormatingOnly。
defaultDragFillType方法的语法以及使用请参考:
http://helpcentral.componentone.com/NetHelp/SpreadHClientUG/webframe.html#Spread~$.wijmo.wijspread.Spread~defaultDragFillType.html
AutoFillType的枚举类型请参考:
http://helpcentral.componentone.com/NetHelp/SpreadHClientUG/webframe.html#Spread~$.wijmo.wijspread.AutoFillType.html
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
towant
高级会员   /  发表于:2015-1-8 09:19:00
板凳
回复 2楼Alice的帖子

你好,我想我表达的不是特别清楚,我想要的是如何操作FillFormatingOnly这种填充类型的方法,如FillSeries类型可以通过:sheet.fillAuto(start,range, $.wijmo.wijspread.FillSeries.Column, $.wijmo.wijspread.Direction.down)来人为执行该类型的下拉填充,但我如果想人为执行FillFormatingOnly类型的下拉填充,应该如何使用?
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-1-8 15:23:00
地板
回复 3楼towant的帖子

首先你要更改DragFill的默认的填充类型,这个时候就要用到defaultDragFill方法。将它改成FillFormatingOnly。

  1. spread.defaultDragFillType($.wijmo.wijspread.AutoFillType.FillFormatingOnly);
复制代码

然后通过代码进行填充操作。
填充操作的的方法有fillAuto, fillAutobyDirection, fillDate等。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
towant
高级会员   /  发表于:2015-1-8 18:33:00
5#
回复 4楼Alice的帖子

美女姐姐,还是不对,我之前试过这种默认设置下拉类型的方法,但发现该语句有问题,js每次执行到spread.defaultDragFillType($.wijmo.wijspread.AutoFillType.FillFormatingOnly)时就停止了,还有其他办法吗?
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-1-9 16:40:00
6#
回复 5楼towant的帖子

根据你的需求,需要用代码去实现UI行为,所以只能采取Action来做。
代码如下:
  1. $("#ss").wijspread();

  2.             var spread = $("#ss").wijspread("spread");

  3.             var activeSheet = spread.getActiveSheet();

  4.             activeSheet.getCell(0, 0).backColor("red").foreColor("yellow").value("cell1");

  5.             activeSheet.getCell(1, 0).backColor("yellow").foreColor("red").value("cell2");

  6.             

  7.             $("#btn").click(function () {

  8.                 var startRange = new $.wijmo.wijspread.Range(0, 0, 2, 1);

  9.                 var fillRange = new $.wijmo.wijspread.Range(2, 0, 7, 1);

  10.                 var dragFillExtent = new $.wijmo.wijspread.UndoRedo.DragFillExtent(startRange, fillRange, $.wijmo.wijspread.AutoFillType.FillFormattingOnly, $.wijmo.wijspread.FillDirection.Down);

  11.                 var dragFillAction = new $.wijmo.wijspread.UndoRedo.DragFillUndoAction(activeSheet, dragFillExtent);

  12.                 activeSheet.doCommand(dragFillAction);

  13.             })
复制代码

评分

参与人数 1满意度 +5 收起 理由
towant + 5 感谢

查看全部评分

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

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
towant
高级会员   /  发表于:2015-1-14 09:46:00
7#
回复 6楼Alice的帖子

我以前尝试这样做过,包括刚刚测试了上述代码,发现从dragFillExtent定义的地方开始该语句就有问题了,js停止执行。
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-1-14 10:00:00
8#
回复 7楼towant的帖子

你能不能将你出错的Demo发过来,我们可以帮你看看怎么回事?
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
towant
高级会员   /  发表于:2015-1-14 10:50:00
9#
很简单,就是你上面的代码封装成一个函数,页面中添加一个id=“btn”的元素按钮,我简单写一下:
$(function(){
          $("#ss").wijspread({sheetCount:1});
          var spread = $("#ss").wijspread("spread");
          var sheet= spread.getActiveSheet();
         sheet.getCell(0, 0).backColor("red").foreColor("yellow").value("cell1");
         sheet.getCell(1, 0).backColor("yellow").foreColor("red").value("cell2");
         $("#btn").click(function () {
                var startRange = new $.wijmo.wijspread.Range(0, 0, 2, 1);
                var fillRange = new $.wijmo.wijspread.Range(2, 0, 7, 1);
                alert(0);//该处往上都是没问题的
                var dragFillExtent = new         $.wijmo.wijspread.UndoRedo.DragFillExtent(startRange, fillRange, $.wijmo.wijspread.AutoFillType.FillFormattingOnly, $.wijmo.wijspread.FillDirection.Down);
               alert(1);//发现到此处语句没有被执行
                var dragFillAction = new $.wijmo.wijspread.UndoRedo.DragFillUndoAction(sheet, dragFillExtent);
                sheet.doCommand(dragFillAction);
            })
});

在<body></body>中添加一个按钮元素,如
<body>
<input id="btn" type="button" value="AutoFillTest"/>
<div id="ss"></div>
</body>
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-1-14 15:25:00
10#
回复 9楼towant的帖子


根据你的代码提示,我制作了一个页面,如附件所示。
打开页面后单击按钮便可以实现FillFormat的填充。

本帖子中包含更多资源

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

x

评分

参与人数 1满意度 +5 收起 理由
towant + 5 问题解决,非常感谢

查看全部评分

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

葡萄城控件服务团队

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