MSMK
-
Posts
392 -
Joined
-
Last visited
-
Days Won
3
Content Type
Profiles
Forums
Events
Posts posted by MSMK
-
-
-
21 hours ago, x11 said:
1. К сожалению, так и есть. И это связано с тем, что фильтр работает только на фронте, в браузере, и не лезет в бэкэнд. Поэтому, такое фильтр лучше применять, когда загружены в сетку все записи. Само собой, чтобы их было относительно не много.
2. Дай пример, как ты отправляешь готовый список options.
https://fiddle.sencha.com/#fiddle/2jgl&view/editor вот пример работы фильтрации по всему набору данных. Может Шерзод поможет реализовать эту схему?
-
20 hours ago, x11 said:
1. К сожалению, так и есть. И это связано с тем, что фильтр работает только на фронте, в браузере, и не лезет в бэкэнд. Поэтому, такое фильтр лучше применять, когда загружены в сетку все записи. Само собой, чтобы их было относительно не много.
2. Дай пример, как ты отправляешь готовый список options.
procedure DbgLoadFilters(dbg: TUniDBGrid);
var
s: string;
i: Integer;
begin
dbg.ClientEvents.ExtEvents.Values['afterrender'] := 'function afterrender(sender, eOpts) { sender.addPlugin(''gridfilters''); }';for i := 0 to pred(dbg.Columns.Count) do
begin
if s.IsEmpty then
s := 'columns[' + i.ToString + '].filter = {type: ''list''};'
else
s := s + sLineBreak + 'columns[' + i.ToString + '].filter = {type: ''list'', options: [''Казахстан'', ''Украина'', ''Россия'']};
end;dbg.ClientEvents.ExtEvents.Values['reconfigure'] :=
'function reconfigure(sender, store, columns, oldStore, oldColumns, eOpts) { ' + s + sLineBreak + '}';
end; -
Всем привет! Хорошие фильтры, наподобие как у DevExpress VCL. Изучив поведение фильтра из этой статьи, понял что:
1) фильтруется только текущая страница, по остальным страницам фильтр не действует, ожидаемо чтоб фильтр прошелся по всем данным и построил заново набор данных.
2) при использовании типа фильтра List, список строится из данных столбца только текущей страницы. Но этот момент можно обойти, построим свой список используя свойство options: [''Казахстан'', ''Украина'', ''Россия'']
s := s + sLineBreak + 'columns[' + i.ToString + '].filter = {type: ''list'', options: [''Казахстан'', ''Украина'', ''Россия'']};
и теперь вопрос. Как реализовать фильтрация по всему набору данных грида, использую эти фильтры?
-
49 minutes ago, =GGG= said:
есть один минус, при использовании фильтра типа "List", строится список тлько из данных текущей страницы (page), список по всем страницам он не строит. Использовании пагинации в гриде нужно, так как большой объем данных
а также фильтрация только по текущей странице
-
-
-
14 hours ago, x11 said:
А "Столбцы", "Сортировать.... ?
Спасибо!
-
14 hours ago, Sherzod said:
спасибо!
-
On 10/1/2020 at 4:54 PM, x11 said:
Please tell me. Why are there no filters in the grid?
thank you
procedure TfmMainForm.UniFormCreate(Sender: TObject); begin CreateFilterDBGToday; end; procedure TfmMainForm.CreateFilterDBGToday; var i:integer; FieldType: TFieldType; Column: TUniDBGridColumn; begin // dbgToday is a TUniDBGrid dbgToday.JSInterface.JSConfigPlugin('Ext.grid.filters.Filters', ['id', 'gridFilters']); for i := 0 to Pred(dbgToday.Columns.Count) do begin Column := dbgToday.Columns[i]; Column.Filtering.Enabled := True; Column.Sortable := True; FieldType := dbgToday.DataSource.DataSet.FindField(Column.FieldName).DataType; case FieldType of ftString : dbgToday.JSInterface.JSConfig('filter', ['string'], Column.JSColumn); ftDate, ftDateTime: dbgToday.JSInterface.JSConfig('filter', ['date'], Column.JSColumn); ftInteger, ftFloat: dbgToday.JSInterface.JSConfig('filter', ['number'], Column.JSColumn); ftBoolean : dbgToday.JSInterface.JSConfig('filter', ['boolean'], Column.JSColumn); else dbgToday.JSInterface.JSConfig('filter', ['list'], Column.JSColumn); end;// case end;// for // Available values for Filter = "boolean,date,list,number,string" // http://forums.unigui.com/index.php?/topic/11857-grid-filters-list/&do=findComment&comment=63164 end;
Доброе время суток! Разобрались с этим вопросом? Меня в частности волнует локализация фраз Filters и прочие фразы?
-
-
On 6/14/2018 at 6:29 PM, Sherzod said:
Try with this approach for now...:
1.
function select(sender, record, index, eOpts) { var IDs = ""; this.getSelection().forEach(function (rec) {if (IDs == "") {IDs = rec.data[yourIDIndx]} else {IDs = IDs + "," + rec.data[yourIDIndx]}}); ajaxRequest(this, "_getSelection", ['IDs=' + IDs]); }
2.
procedure TMainForm.UniDBTreeGrid1AjaxEvent(Sender: TComponent; EventName: string; Params: TUniStrings); begin if EventName = '_getSelection' then begin ShowMessage(Params.Values['IDs']); end; end;
Добрый день! а как реализовать выборку по группе? Чтобы возвращал список ID всех записей в родительском ноде
-
спасибо всем за помощь, проблема решена
-
top
-
Awww! Support service! What are your load requirements for hyperServer? Is there a load calculation manual? my application server crashes when there are more than 200 users. The application is complex, rewritten from the desktop, legacy code. Help me please!
-
top
-
Может в этой ветке кто сможет помочь с этим вопросом. Валится ошибка Socket Error 10061 , после того как один из нодов ушел в статус Suspended
-
Hello! I have a problem with HyperServer working. Socket Error 10061 is dropping
This error starts after the nodes go into Suspended mode
The problem is solved by a complete reboot of IIS -
On 2/4/2021 at 1:01 PM, Sanyi said:
The application pool is not the same, more differences. I will try, but not now, users in work.
Thanks
solved the problem?
-
7 minutes ago, Sherzod said:
Да.
спасиб! попробую
-
1 hour ago, Sherzod said:
Попробуйте проанализировать следующий подход:
procedure TMainForm.UniFormCreate(Sender: TObject); begin grdData.JSInterface.JSAddListener( 'beforereconfigure', ' function(sender, store, columns){'+ ' columns[0].colName="'+ grdData.Columns[0].FieldName +'",'+ ' ...'+ ' }' ); end;
получается прописать имена столбцам вручную?
-
13 hours ago, Sherzod said:
1. CustomCSS:
.customGrid .x-btn-icon-el { width: 16px; height: 16px; }
2. UniDBGrid -> LayoutConfig -> Cls = customGrid
Спасибо, с этим моментом разобрался
-
21 hours ago, =GGG= said:
function reconfigure(sender, store, columns, oldStore, oldColumns, eOpts)
{
var findColumnIndex = function(columns, dataIndex) {
var index;
for (index = 0; index < columns.length; ++index) {
if (columns[index].dataIndex == dataIndex) { break; }
}
return index == columns.length ? -1 : index;
}
var widgetColIndx1=0;
var widgetColIndx2=findColumnIndex(columns, 'DocVariant');
columns[widgetColIndx1].onWidgetAttach = function(column, widget, record) {
widget.setVisible(record.get(widgetColIndx1) != 0);
};
columns[widgetColIndx2].onWidgetAttach = function(column, widget, record) {
widget.setVisible(record.get(widgetColIndx2) != 1);
};
} не помоглоа как насчет этого? у меня проблема в случае переноса столбцов
-
19 minutes ago, =GGG= said:
как обратиться к столбцу по имени, а не по индексу, так как при переносе столбцов по гриду сбиваются индексы
function reconfigure(sender, store, columns, oldStore, oldColumns, eOpts)
{
var findColumnIndex = function(columns, dataIndex) {
var index;
for (index = 0; index < columns.length; ++index) {
if (columns[index].dataIndex == dataIndex) { break; }
}
return index == columns.length ? -1 : index;
}
var widgetColIndx1=0;
var widgetColIndx2=findColumnIndex(columns, 'DocVariant');
columns[widgetColIndx1].onWidgetAttach = function(column, widget, record) {
widget.setVisible(record.get(widgetColIndx1) != 0);
};
columns[widgetColIndx2].onWidgetAttach = function(column, widget, record) {
widget.setVisible(record.get(widgetColIndx2) != 1);
};
} не помогло
Ошибка при отображении столбцов с фильтрами в гриде
in Russian
Posted
Привет всем! Столкнулся с такой проблемой, после добавления фильтров на столбцы в гриде, падает ошибка
Uncaught TypeError: this.dom is null