mtkj 发表于 2020-5-21 14:30:55

对于felxgrid的cell编辑状态下 获取光标位置,包括CustomGridEditor对象的cell

对于flexgrid编辑某一个单元格时,用光标进行左右移动,当光标移动至最左侧(最右侧)时,需跳至前一个(后一个单元格)

KevinChen 发表于 2020-5-21 14:30:56

你好,这个问题没有原生的接口直接实现,但可以通过JSDOM的特性来实现,参考以下代码:

import 'bootstrap.css';
import '@grapecity/wijmo.styles/wijmo.css';
import './styles.css';
//
import * as input from '@grapecity/wijmo.input';
import { getData } from './data';
//
document.readyState === 'complete' ? init() : window.onload = init;
//
function init() {
    (function ($, undefined) {
      $.fn.getCursorPosition = function () {
            var el = $(this).get(0);
            var pos = 0;
            if ('selectionStart' in el) {
                pos = el.selectionStart;
            } else if ('selection' in document) {
                el.focus();
                var Sel = document.selection.createRange();
                var SelLength = document.selection.createRange().text.length;
                Sel.moveStart('character', -el.value.length);
                pos = Sel.text.length - SelLength;
            }
            return pos;
      }
    })(jQuery);
    let theCombo = new input.ComboBox('#theCombo', {
      displayMemberPath: 'country',
      itemsSource: getData()
    });
    //
    let theAutoComplete = new input.AutoComplete('#theAutoComplete', {
      displayMemberPath: 'country',
      itemsSource: getData()
    });

    $("#btn").click(function(){
      var host = theAutoComplete.hostElement;
      var input = $(host).find("input");
      console.log(input.getCursorPosition());
    });
}


在这里可以看到效果:

https://demo.grapecity.com.cn/wijmo/demos/Input/AutoComplete/Overview/purejs

注意需要给html页面上加一个id是btn的按钮

KevinChen 发表于 2020-5-21 18:08:31

你好,input组件没有原生的光标事件,和获取光标位置的接口,这个问题需要进一步调研。预计明天上午回复您
页: [1]
查看完整版本: 对于felxgrid的cell编辑状态下 获取光标位置,包括CustomGridEditor对象的cell