Search the Community
Showing results for tags 'blank date'.
-
В отдельной ветке к старому вопросу мне так никто и не ответил, поэтому создал новую тему: Сама ветка: Как заставить UniDBGrid показывать вместо нулевой даты типа 30/12/1899 просто пустое значение. Смысл задачи простой, есть FDQuery, который подключен к базе MS SQL. Внутри базы есть табличка в которой есть поля с типом datetime. Они non nullable. Но нужно в эти поля занести дату со значением 0. q_timebegin_time.AsDateTime := 0; После этого UniDBGrid начинает показывать время 30/12/1899 00:00:00. Как убрать это время, чтобы оно было пустым в ячейке? Нужно просто визуально скрыть эту дату пока она не будет нормальной. Использование ИИ дало вот такой вариант, но он работает очень долго, если записей будет хотя бы 50-т и больше. grid_afterrender(grid, eOpts) { var store = grid.getStore(); function cleanDates(records) { var changed = false; records.forEach(function(rec) { for (var fieldName in rec.data) { if (rec.data.hasOwnProperty(fieldName)) { var v = rec.get(fieldName); if (v === 0 || v === '0' || v === null || v === undefined || v === '' || String(v).includes('1900') || String(v).includes('1899')) { rec.set(fieldName, null); changed = true; } } } }); // Обновляем только если реально были изменения if (changed) { setTimeout(() => grid.getView().refresh(), 0); } } // при добавлении новой записи store.on('add', function(s, records) { cleanDates(records); }); // при загрузке данных с сервера store.on('load', function(s, records) { console.log('🟢 Store load'); cleanDates(records); }); // при любых изменениях (после Post и т.п.) store.on('datachanged', function(s) { console.log('🟣 Store datachanged'); // ⚠️ refresh не вызываем напрямую здесь — только чистим cleanDates(s.getRange()); }); } Если использовать GetText на поле FDQuery, то будет вот такой результат: Ajax error Unexpected token ',' O396.setDisabled(false);O39A.setDisabled(false);O45C.show();O45C.show();O45C.show();O45C.show();O45C.show();O45C.show();O45C.show();O45C.show();O45C.show();O45C.show();O392.setDisabled(false);_gsc_(O2AE);O2A7.uniInsert(0,{"id":2147483647,"0":9374368,"_0":"{b:'#F0F0F0'}","1":"2","_1":"{b:'#F0F0F0'}","2":"21.10.2025 14:46:20","_2":"{b:'#F0F0F0'}","3":"01.01.1900 00:00:00","_3":"{b:'#F0F0F0'}","4":"","_4":"{b:'#F0F0F0'}","5":"","_5":"{b:'#F0F0F0'}","6":"01.01.1900 00:00:00","_6":"{b:'#F0F0F0'}","7":"01.01.1900 00:00:00","_7":"{b:'#F0F0F0'}","8":"01.01.1900 00:00:00","_8":"{b:'#F0F0F0'}","_x":1,"_r":-1});_gsc_(O2AE,0,0);O2C2.stateValue="-1";_gsc_(O37E);O377.uniInsert(1,{"id":2147483647,"0":9374368,"_0":"","1":"2","_1":"","2":"21.10.2025 14:46:20","_2":"","3":"","_3":"","4":,"_4":{a:"",d:""},"5":"01.01.1900 00:00:00","_5":"","6":"01.01.1900 00:00:00","_6":"","7":"01.01.1900 00:00:00","_7":"","8":"","_8":"","9":"","_9":"","10":"","_10":"","11":"01.01.1900 00:00:00","_11":"","_x":1,"_r":-1});_cgms_(O373);_gsc_(O37E,1,3);_sge_(O373,1,3,false);O3A2.load({params:{options:1}});O3B9.stateValue="-1";O3C5.stateValue="-1";
