Problem with filtering serverside

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