Hello
i try to explain my problem(s):
- Main problem is that i need ‘select_filter_strict’ method in a column but i’m loading data dynamically
- if i write a filter-method (to use select_filter_strict) and filter this column select_filter_strict works but my other columns filter doesn’t
- if i don’t use own filter_method the other columns are filtering correctly
If i use my own filter method as explained here http://docs.dhtmlx.com/doku.php?id=dhtmlxconnector:event_beforefilter i need to define all my columns by myself?
If yes how? There’s always working my first column-filter and the rest doesn’t.
How i can get all my columns-filter working correctly ?
<script type="text/javascript">
Grid = new Array();
Grid[1] = new dhtmlXGridObject('gridbox');
Grid[1].setImagePath("../dhtmlx/Grid/codebase/imgs/");
Grid[1].setHeader("Mitarbeiter,Von,Bis,Abwesenheit,Kommentar");
Grid[1].attachHeader("#connector_select_filter,#connector_text_filter,#connector_text_filter,#connector_select_filter,#connector_text_filter");
Grid[1].setInitWidths("140,100,100,100,*");
Grid[1].setColAlign("left,center,center,center,left");
Grid[1].setColTypes("coro,ro,ro,ro,ro");
Grid[1].setColSorting("str,str,str,str,str");
Grid[1].enableTooltips("false,false,false,false,true");
Grid[1].enableRowsHover(true, 'grid_hover');
Grid[1].attachEvent("onXLS", function() {document.getElementById('loading').style.display = 'block';});
Grid[1].attachEvent("onXLE", function() {document.getElementById('loading').style.display = 'none';});
Grid[1].enablePaging(true, 28, 10, "paging", true);
Grid[1].setPagingSkin("bricks");
Grid[1].setSkin("clear");
Grid[1].init();
Grid[1].enableAlterCss("rows_even", "rows_uneven");
Grid[1].load("../dhtmlx/Data/XML/connector.php?id=10");
</script>
if($_GET['id'] == "10") {
function pl_date($action) {
if ($action->get_value(start_date) == '') $action->set_value(start_date, null);
if ($action->get_value(end_date) == '') $action->set_value(end_date, null);
}
function filter_strict($filter_by) {
$index = $filter_by->index("type");
if ($index!==false) $filter_by->rules[$index]["operation"]="=";
}
$name = new OptionsConnector($res);
$name->render_sql("SELECT id AS value, CONCAT(ma_nachname,', ',ma_vorname) AS label FROM sk_mitarbeiter WHERE (ma_job <> 99) ORDER BY ma_nachname ASC","id","id(value),label(label)");
$grid->dynamic_loading(30);
$grid->set_options("type", $name);
$grid->event->attach("beforeProcessing", "pl_date");
$grid->event->attach("beforeFilter","filter_strict");
$grid->render_sql("SELECT type, date_format(start_date,'%d.%m.%Y - %H:%i') AS 'start_date', date_format(end_date,'%d.%m.%Y - %H:%i') AS 'end_date', event_name, termin_bemerkung FROM tevents AS A INNER JOIN sk_mitarbeiter AS B ON A.type = B.id ORDER BY A.event_id DESC","event_id","type,start_date,end_date,event_name,termin_bemerkung");
}
THANK YOU