找回密码
 立即注册

QQ登录

只需一步,快速开始

一杯大可乐

初级会员

13

主题

29

帖子

253

积分

初级会员

积分
253
一杯大可乐
初级会员   /  发表于:2018-12-5 10:33  /   查看:6657  /  回复:5
在之前的开发中有遇到在flexGrid中tab切替的情况,有解决办法。但是现在客户需要另外一种效果,所以之前的时装方式就不可以了。为了使回答者更好的理解问题,分明成了之前和现在的两种方式作为对比,重点地地方用红色标记了:之前效果:
说明:这时的焦点在明细这个按钮上,这时我按下键盘的“Tab”键时会有以下效果:

此时焦点移动到下一个可编辑的单元格。
之前代码html片断:
        <wj-flex-grid-column id="MESDES101021_00028" [binding]="'cstmrPoNo'" header="顧客PO番号" [width]="355">
          <ng-template wjFlexGridCellTemplate [cellType]="'Cell'" let-cell="cell">
            <wj-input-mask
                          [(rawValue)]="cell.item.cstmrPoNo"
                          class="form-control grid-input-mask-1"
                          maxlength="13"
                          [promptChar]="'\n'">
            </wj-input-mask>
          </ng-template>
        </wj-flex-grid-column>

原因说明:由于“[cellType]="'Cell'"”,所以在画面上,“ng-template”里面的“wj-input-mask”是直接显示在画面的,这时不需要什么写法直接就可以进行tab切替。
=====================================================================================================
现在效果:
说明:这时的焦点在明细这个按钮上,这时我按下键盘的“Tab”键时会有以下效果:

这时,焦点并没有设定到下一个可编辑的单元格。
现在代码html片断:
        <wj-flex-grid-column id="MESDES101021_00028" [binding]="'cstmrPoNo'" header="顧客PO番号" [width]="355">
          <ng-template wjFlexGridCellTemplate [cellType]="'CellEdit'" let-cell="cell">
            <wj-input-mask
                          [(rawValue)]="cell.value"
                          class="form-control grid-input-mask-1"
                          maxlength="13"
                          [promptChar]="'\n'">
            </wj-input-mask>
          </ng-template>
        </wj-flex-grid-column>
原因说明:由于“[cellType]="'CellEdit'"”,所以在画面上,“ng-template”里面的“wj-input-mask”是没有直接显示在画面的,就想是在“ng-template”上面覆盖了一层膜似的。所以焦点没有自动设定到里面的“wj-input-mask”中。


总结:现在怎么才能使焦点穿过外边的“膜”,是定到里面的焦点上?

本帖子中包含更多资源

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

x

5 个回复

倒序浏览
JeffryLI
葡萄城公司职员   /  发表于:2018-12-10 09:34:55
推荐
本帖最后由 JeffryLI 于 2018-12-10 09:46 编辑

有个思路不知道是否可以满足您的要求,当tab键移动你的单元格上的时候,按你之前所说的,已经不能直接编辑,wijmo在keybown事件中可以监测键值https://demos.wijmo.com/5/Angula ... wijmo.Key.Enum.html

当按下F2的时候,可以做以下行为
选中单元格,让单元格处于编辑状态
https://demo.grapecity.com.cn/wijmo5/learningwijmo/#tLYKp

评分

参与人数 1满意度 +5 收起 理由
一杯大可乐 + 5 神马都是浮云

查看全部评分

请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
JeffryLI
葡萄城公司职员   /  发表于:2018-12-5 17:11:23
推荐
您好,首先我们下为什么要将Cell改为CellEdit
关于这个两个参数的解释如下:
Cell:定义常规(数据)单元格模板。 必须是WjFlexGridColumn组件的子级。
CellEdit:在编辑模式下为单元格定义模板。 必须是WjFlexGridColumn组件的子级。 此单元格类型具有可用于绑定的附加cell.value属性。 它包含编辑前的原始单元格值,以及编辑后的更新值。
我想这可能是为什么按Tab建没有聚焦,需要点击编辑。
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
一杯大可乐
初级会员   /  发表于:2018-12-6 09:54:03
板凳
JeffryLI 发表于 2018-12-5 17:11
您好,首先我们下为什么要将Cell改为CellEdit
关于这个两个参数的解释如下:
Cell:定义常规(数据)单元 ...

现在客户要求的,之前是inputMask直接显示的,现在客户要求按F2才可以进入编辑!这不是我能做决定的!所以关于以上问题您这边有好的解决办法吗?
回复 使用道具 举报
JeffryLI
葡萄城公司职员   /  发表于:2018-12-6 11:31:50
地板
我的理解是,原来按tab键时,移到inputmask的单元格,单元格就直接可以编辑,现在客户要求 按tab键到inputmask的单元格上,不让编辑只是选中,要编辑的话,需要再按下F2在进入编辑,不知道我理解的对吗?

评分

参与人数 1满意度 +5 收起 理由
一杯大可乐 + 5 很给力!

查看全部评分

请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
一杯大可乐
初级会员   /  发表于:2018-12-7 14:17:02
5#
理解对的!但是按tab的时候不能每一个单元格能都能走,是有条件的,只有 单元格是可编辑的才可以走,不是可编辑的就跳过!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部