Jump to content

Кнопки Confirm и Cancel во время редактирования UniDBGrid


x11

Recommended Posts

Не могу понять, какие свойства отвечают за панель с этими кнопками?

Вопросы вдогонку. Можно ли менять положение этой панели, чтобы кнопки были поближе к редактируемой ячейке? Можно ли их локализовать на другие языки?

Screenshot_1.jpg

Link to comment
Share on other sites

28 minutes ago, x11 said:

Так, нашёл. Это свойство RowEditor.

Я так понял там только включить или выключить RowEditor и все? RowEditor = boolean. Больше никаких свойств не нашел.

Link to comment
Share on other sites

Осталось понять, как перенести кнопки, чтобы они были непосредственно под редактируемой ячейкой.

Здесь что-то есть, похожее на ответ, но я пока не пойму, что именно нужно сделать.

Link to comment
Share on other sites

47 minutes ago, x11 said:

Можно ли менять положение этой панели, чтобы кнопки были поближе к редактируемой ячейке?

Возможно этот пост Вам поможет:

http://forums.unigui.com/index.php?/topic/13579-can-i-set-distance-between-roweditor-and-grid-in-unidbgrid/&do=findComment&comment=74304

Link to comment
Share on other sites

Что-то я неправильно сделал

JS код в файле

function afterrender(sender, eOpts)
{
    var me = sender;
	
    if (me.editingPlugin.isRowEditor) {
		me.editingPlugin.saveBtnText   = 'Підтвердити';
		me.editingPlugin.cancelBtnText = 'Відмінити';
		
        me.editingPlugin.editorCfg.cls = "_roweditor";
        me.addCls('_roweditor');
        
        me.editingPlugin.editorCfg.listeners = {
            show: function() {
                if (me.activeTD) {
                    me.getEl().select('.x-grid-row-editor-buttons').setX(Ext.get(me.activeTD).getX());
                }
            }
        };
    };  
}

Файл загружается при создании фрейма.

Кнопки переименовались, а значит файл загружается.

Но кнопки все равно не под редактируемой ячейкой.

Screenshot_1.jpg

Link to comment
Share on other sites

21 minutes ago, Sherzod said:

Возможно этот пост Вам поможет:

там 1 и 2 - это одно единое решение или же я должен применить и первый шаг, и второй?

На всякий случай, я и второй тоже добавил, но кнопки все равно не под ячейкой

Screenshot_2.jpg

Link to comment
Share on other sites

8 minutes ago, x11 said:

там 1 и 2 - это одно единое решение или же я должен применить и первый шаг, и второй?

Да и второй тоже.

8 minutes ago, x11 said:

На всякий случай, я и второй тоже добавил, но кнопки все равно не под ячейкой

В консоле нет ошибок?

Link to comment
Share on other sites

открыл консоль, потом открыл фрейм с таблицей, с отредактировал данные, обновил, проверил, что данные в базу попали.

Но консоль пустая, ни единого сообщения.

Screenshot_4.jpg

Link to comment
Share on other sites

Я проверил вышеуказанное решение, и оно работает для меня (по крайней мере, при первой активации редактора).

Просто иногда при копировании текста из форума, попадаются непечатные символы...

function celldblclick(sender, td, cellIndex, record, tr, rowIndex, e, eOpts)
{
    this.activeTD=td;
}

 

Link to comment
Share on other sites

Странно почему у Вас не работает, но как я сказал выше, по крайней мере это должно работать при первой активации редактора:

rowEditor.gif.d6e2f4d6df89d8dd33d691f739d3419c.gif

Link to comment
Share on other sites

Когда нажимаешь кнопку Редактировать на UniDBNavigator, всё равно кнопки не на своем месте.

Попробую на другом ПК воспроизвести.

Screenshot_3.jpg

Link to comment
Share on other sites

2 hours ago, x11 said:

 Попробую на другом ПК воспроизвести.

А если попробовать это решение?

function afterrender(sender, eOpts) 
{
    /*var me=sender;
    if (me.editingPlugin.isRowEditor) {
        me.editingPlugin.editorCfg.cls = "_roweditor";
        me.addCls('_roweditor');
        
        me.editingPlugin.editorCfg.listeners = {
            show: function() {
                if (me.activeTD) {
                    me.getEl().select('.x-grid-row-editor-buttons').setX(Ext.get(me.activeTD).getX());
                }
            }
        };
    };*/

    var grid = sender;
    if (grid.editingPlugin.isRowEditor) {
        grid.editingPlugin.editorCfg.listeners = {
            focusenter: function() {
                Ext.defer(function() {
                    grid.getEl().select('.x-grid-row-editor-buttons').setX(grid.editingPlugin.editor.activeField.getX())
                }, 0);
            }
        }
    };
}

 

Link to comment
Share on other sites

7 hours ago, Sherzod said:

А если попробовать это решение?

Получается странно: сперва кнопки появляются справа, а ещё щелкнуть по верхней записи, а потом снова на редактируемой , то кнопки перескакивают в правильное место - под ячейку.

Кстати, в этой вашей анимашке сообщением выше похожая ситуация: кнопки то там, то здесь.

Link to comment
Share on other sites

11 hours ago, x11 said:

Попробую на другом ПК воспроизвести.

Странно у Вас работает.. Если есть возможность, попробуйте проверить на другой машине тоже. 

Link to comment
Share on other sites

Проблема есть и на другом ПК.

Я установил Delphi + UniGUI на второй свой ПК, скомпилировал проект там и запустил в браузере.

Точно то же самое: сперва кнопки появляются справа, а когда я щелкаю по верхней записи и снова по средней записи, то кнопки появляются уже правильно - под ячейкой.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...