Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / jqxDataTable / 10 сообщений из 10, страница 1 из 1
18.05.2018, 10:37
    #39646563
sergq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jqxDataTable
Здравствуйте.

с html и javascript четвертый день. так что сильно не пинайте )

инициализировал в div jqxDataTable. Создал там toolbar, навесил события (открытие jqxWindow).

Потом создал клон файла инициализации jqxDataTable. на другую таблицу базы.

ну и собственно на странице сделал две кнопки - инициализилировать первый jqxDataTable и второй.
Инициализирую первый - все отображается, тулбар тоже, события работают.

потом инициализирую второй jqxDataTable из второго файла. в том же div элементе. Первый jqxDataTable пропадает, появляется второй. данные отображаются. вроде все корректно. Но вот тулбар от второго jqxDataTable вроде как не отображается. а виден остается от первого. и события на клики тоже от первого.

Что я недопонимаю?
...
Рейтинг: 0 / 0
18.05.2018, 11:34
    #39646597
Руслан Дамирович
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jqxDataTable
sergqЧто я недопонимаю?
Недопонимаете тот факт, что вы нифига понятно не сказали, что вам нужно, и что получаете.
Обычно эта разница компенсируется либо мощными телепатическими способностями экспертов, либо предоставлением примера.
...
Рейтинг: 0 / 0
18.05.2018, 14:30
    #39646735
sergq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jqxDataTable
Руслан Дамирович,

ок.

есть такая функция

Заголовок
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
function first() { 
    var orderdetailsurl = "data.php";
            var ordersSource =
            {
                dataFields: [
				    { name: 'C', type: 'int' },
                    { name: 'name', type: 'string' },
                    { name: 'Guid', type: 'string' }
                    
                ],
                root: "data",
                dataType: "json",
                id: 'C',
                url: 'disc_data.php',
                addRow: function (rowID, rowData, position, commit) {
                    commit(true);
                },
                updateRow: function (rowID, rowData, commit) {
                    commit(true);
                },
                deleteRow: function (rowID, commit) {
                    commit(true);
                }
            };
            var dataAdapter = new $.jqx.dataAdapter(ordersSource, {
                downloadComplete: function (data, status, xhr) { 
				//alert('!'); 
				},
                loadComplete: function (data) { 
				//alert('!!');
				},
                loadError: function (xhr, status, error) { alert(xhr);}
				});
            $("#main").jqxDataTable(
            {
                source: dataAdapter,//dataAdapter, //ordersSource
                
                pageable: true,
                showToolbar: true,
                altRows: true,
                ready: function()
                {
                    // called when the DataTable is loaded.         
                    $("#id1").jqxInput({disabled: true, width: 150, height: 30 });
                    ... 
                  

                   
					
					
                },
                pagerButtonsCount: 8,
                toolbarHeight: 35,
                renderToolbar: function(toolBar)
                {
                    var toTheme = function (className) {
                        if (theme == "") return className;
                        return className + " " + className + "-" + theme;
                    }
                    // appends buttons to the status bar.
                    var container = $("<div style='overflow: hidden; position: relative; height: 100%; width: 100%;'></div>");
                    var buttonTemplate = "<div style='float: left; padding: 3px; margin: 2px;'><div style='margin: 4px; width: 16px; height: 16px;'></div></div>";
                    var addButton = $(buttonTemplate);
                    container.append(addButton);
                    toolBar.append(container);
                    addButton.jqxButton({cursor: "pointer", enableDefault: false,  height: 25, width: 25 });
                    addButton.find('div:first').addClass(toTheme('jqx-icon-plus'));
                    addButton.jqxTooltip({ position: 'bottom', content: "Add"});

                    var rowIndex = null;
                    addButton.click(function (event) {
                        if (!addButton.jqxButton('disabled')) {
							
                             alert('!');

                        }
                    });
                },
                columns: [
                  { text: 'C', editable: false, dataField: 'C', width: 200, hidden: true },
                  { text: 'name', editable: false,dataField: 'name', cellsFormat: 'f', cellsAlign: 'right', align: 'right', width: 200},
                  { text: 'Guid', dataFieldd: 'Guid', editable: false,  width: 200} //dataField: 'C',
              ]
            });
         }

//</script>




и ровно такая же с названием second и другим источником данных

запускаю first. компонент с toolbar отображается. данные отображаются
запускаю second. компонент с toolbar отображается. данные отображаются
но когда нажимаю addButton, то выполняется addButton.click от компонента, созданного функцией first
...
Рейтинг: 0 / 0
19.05.2018, 01:37
    #39646974
sergq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jqxDataTable
В общем решение проблемы нашел) оказалось все просто.
А вот причины так и не понял.
Топик можно грохнуть
...
Рейтинг: 0 / 0
20.05.2018, 05:58
    #39647173
stanilar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jqxDataTable
Изучающие жс, особенно после знакомства с другими языками (Дельфи, например), программисты, не всегда готовы к тому что инфраструктура жс сильно шире того, к чему они привыкли.

Например, в жс есть несколько IDE, несколько библиотек реализующих разную реализацию объектов, несколько библиотек расширения синтаксиса, и еще парочка реализует свое видение на разделение кода по файлам.

Ваш пример, как и Ваш изначальный вопрос, нисколько не добавил к пониманию того, что Вы хотите. Но если говорить про свои шишки, то либо накосячено с областью видимости, либо что-то объявлено в глобальной области видимости. Для последнего достаточно просто забыть написать var(let, const).
...
Рейтинг: 0 / 0
04.06.2018, 17:35
    #39655119
sergq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jqxDataTable
stanilar,

Ну да, не готов) хотя некоторые вещи уже нравятся.

Что было? Был div, в который инифиализировалась данная таблица—компонент. Я видно хотел проинициализировав ее один раз, инифиализировать еще еще раз в жтом же div , но с другими параметрами. Помогла перед второй инициализацией очистка div. Хотя, возможно, это и некорректно.

Ткните носом в IDE более менее приличную? С автоподстановками , панелью компонентов и тд
...
Рейтинг: 0 / 0
04.06.2018, 18:05
    #39655130
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jqxDataTable
sergq,

уж если изучать то тут https://learn.javascript.ru/
...
Рейтинг: 0 / 0
04.06.2018, 18:45
    #39655141
stanilar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jqxDataTable
sergqпанелью компонентов

Ну что, дельфя никак отпустить не может?

Тока дельфи он из того мира, в котором надо делать драйвера, сервера, CAD и прочие хорошо задокументированные сущности. А жс он из того мира, в котором надо уметь программировать красивый UI. Так что панель компонентов это не то, к чему надо стремиться.

Из наиболее близкого могу предложить опробовать ATOM(IDE) + CreateReactApp(настроенный сервер для разработки) + react-bootstrap(UI Kit, не путать с reactstrap которые хоть и круче, но плохо документирован, для старта не пойдет) + JSX (стиль написания кода). По ощущения почти как дельфан, тока dfm ручками писать надо. Вот довольно короткий цикл видео-уроков, на час-два, вполне хватить для старта. Как раз можно подсмотреть, как в мире жс компоненты ставятся.
...
Рейтинг: 0 / 0
28.06.2018, 19:10
    #39667338
sergq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jqxDataTable
stanilar,

Голова слегка пухнет от поиска необходимых инстументов)

Пока остановился на ExtJS. Если я правильно понимаю ExtJS и ReactJS это инструменты одного скажем так класса.

Но обе библиотеки вроде как грузят скрипты конфигурирования UI на клиента.

Нашел такую штуку. http://www.koala-framework.org
Вроде как тут страницы формируются на стороне сервера и выплевываются на клиента уже сформированные без лишних скриптов. Но как то коала не внушает доверия. Может есть что и лучше нее
...
Рейтинг: 0 / 0
28.06.2018, 20:26
    #39667362
stanilar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
jqxDataTable
sergq Если я правильно понимаю ExtJS и ReactJS это инструменты одного скажем так класса.
Не совсем, для реакта есть порт ExtJS - ExtReact .
ExtJS это инструмент одного класса с bootstrap, для которого есть свой порт - react-bootstrap.
Koala это, скорее всего, аналог связки react+bootstrap(ExtJS).

sergqНо обе библиотеки вроде как грузят скрипты конфигурирования UI на клиента.
Это называется "рендеринг на клиенте".

sergq Вроде как тут страницы формируются на стороне сервера и выплевываются на клиента уже сформированные без лишних скриптов.
Называется server-rendering. Часть данных рендерится на сервере и отдается клиенту в готовом виде, что не исключает участие клиtнта в рендеринге. Реакт тоже умеет рендерить на сервере.
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / jqxDataTable / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]