1

おそらく私が今まで見た中で最も奇妙なこと: ドキュメントがロードされた後にグリッドをロードしたい。グリッド (インフラジスティックス) が遅延しているように見えるので、間隔を設定し、その間隔で必要な要素を取得しようとします。見つからない場合は、さらに 500 ミリ秒待ちます。

    function trySetEditMode(obj) {
        var testObj = $('#' + obj.btnId).parents("tr[type='row']").get(0);

        if (testObj && testObj._object){
            clearInterval(_intervalId);

面白いのは、IE デバッグ ツールで行が表示されていても、見つからないということです。マウスでぐるぐると動くだけで動きます。この効果は完全にランダムに見えます。

誰がこれがどのように可能か考えていますか? .focus、.blur などをいじってみましたが、何もうまくいかないようです。

ところで: obj は私からのカスタム オブジェクトです。ボタン ID はボタンの clientid であり、そこにあります。例えば:

$('#' + obj.btnId).parents('tr').length

長さを返します。

これはインフラジスティックス コントロールのバグでしょうか? はいの場合、この mouseMove をどのようにシミュレートできますか?

よろしくお願いします

マティアス

4

2 に答える 2

1

行オブジェクトの作成はクライアントでコストがかかるため、すべての行オブジェクトが最初に作成された場合にパフォーマンスが大幅に低下するのを避けるために、必要に応じて作成されます。これらのオブジェクトの実際の作成は、マウス オーバー時、またはクライアント側オブジェクト モデルの一部として提供される get_row() メソッドを使用するときに行われます。そのため、推奨されるアプローチは、クライアント側オブジェクト モデルを使用して行への参照を取得することです。たとえば、次のようにすると最初の行が取得されます。

var grid = $find("webDataGrid1");  

var row = grid.get_rows().get_row(0);
于 2013-08-01T20:59:19.047 に答える
0

おそらく、他の誰かがインフラジスティックス webdatagrid でこの問題を抱えているでしょう:マウスオーバーで。どれだけ待っても、オブジェクトはそこにありませんでした。

適切な解決策を得る時間がなかったので、基本的にセル上でマウス オーバー イベントを手動で発生させました。これを何をするかは問題ではありませんが、最初のものでテストしたところ、適切に機能しました。

            //The grid doesnt load data (except the first row) until the mouse did hover over it
            //Get a cell, and hover over it
            var parentTd = btn.parents('td').first();
            var cell = parentTd.siblings()[0];
            var rows = $find('dgrRoles').get_rows();
            if (cell && rows) {
                cell.target = cell;
                rows._onMouseOver(cell);
            }
于 2013-07-05T07:22:25.510 に答える