combo do not load the text value in the grid using PHP serve


#1

I have a problem in that I using the combo box in 5 location in my grid, each of these columns reference by an id a text value that I would like to display. See image 1 how it looks like after loading the page.

The data seems to be there, as when I start tabbing through the cells - it shows the right value in the drop down box. See image 2.

My code looks like this

     //      My Grid
            mygrid = new dhtmlXGridObject('action');
    //      Set the path of where the images are located        
            mygrid.setImagePath("../third_party/modules/dhtmlx/grid/imgs/");

    //      Set the text for the header of the grid        
            mygrid.setHeader("Campaign ID, Year, Week, Country, Office, Region, da, dc, po, pro, x, Campaign, Programme, Description, Comment");
    //      Attach 2nd level header and selections options        
            mygrid.attachHeader("#select_filter,#select_filter,#select_filter,#select_filter,#select_filter,#select_filter, , , , , ,#select_filter,#select_filter");        
    //      Set the width of the cells row for the grid
            mygrid.setInitWidths("100,50,50,*,*,*,30,30,30,30,30,*,*,20,20");
            mygrid.enableAutoWidth(true);
    //      Set the Column Alignment
            mygrid.setColAlign("left,left,left,left,left,left,left,left,left");
    //      Set the column types for the grid                    mygrid.setColTypes("ed,ed,ed,combo,combo,combo,ed,ed,ed,ed,ed,combo,combo,ed,ed");
    //        mygrid.getCombo(5).put(2, 2);
            mygrid.setColSorting("int,date,str,int,int,int,int,int,int,int,int,int,int,int,int");
    // Grouping of columns
            mygrid.groupBy(1);
    //      Enable Light Mouse Navigation
            mygrid.enableLightMouseNavigation(true);
    //      Enable enable hot keys
            mygrid.enableKeyboardSupport(true);

    //      Initialize
            mygrid.init();

    //      Set skin
            mygrid.setSkin("dhx_skyblue");

    //      Load Data        
            mygrid.loadXML("action/data");

    //      Set Paging Mode 
    //        mygrid.setPagingWTMode(true,true,true,[30,60,90,120]);

    //      Set Template        
            mygrid.setPagingTemplates("Pages - [current:0] [current:+1] [current:+2] , from [total] rows","");
    //      enable paging and sets its skin;
            mygrid.enablePaging(true, 25, 10, "pagingArea", true, "recinfoArea");
            mygrid.setPagingSkin("bricks");

            mygrid.attachEvent("onEditCell",function(stage){
                    if (stage == 2)
//                            refresh_chart();
                    return true;
            });

            var dp = new dataProcessor("action/data");
            dp.action_param = "dhx_editor_status";

            dp.attachEvent("onAfterUpdate", function(sid, action, tid, xml){
                    if (action == "invalid"){
                            mygrid.setCellTextStyle(sid, 2, "background:#eeaaaa");
//                            dhtmlx.message(xml.getAttribute("details"));
                    } 
//                    else 
//                            dhtmlx.message("["+action+"] Data saved in DB");
            })
            dp.init(mygrid);

            combo = mygrid.getColumnCombo(3);
            combo.loadXML("action/country");        

            combo = mygrid.getColumnCombo(4);
            combo.loadXML("action/office");

            combo = mygrid.getColumnCombo(5);
            combo.loadXML("action/region");
            
            combo = mygrid.getColumnCombo(11);
            combo.loadXML("action/campaign");

            combo = mygrid.getColumnCombo(12);
            combo.loadXML("action/programme");  

Any ideas on what causes this issue, I have 575 records in the database and the associated tables for the combo - non having more that 200 records.





#2

Please, make sure that the value of the option strictly corresponds to the value of the xml.
If issue still occurs - please, provide with a complete demo, where the issue can be reproduced locally.
Here you can find a tutorial:
docs.dhtmlx.com/doku.php?id=othe … leted_demo


#3

OK, the problem is still there and we do have matching id with text, it is very intermediate sometimes the text shows up, other times only the numbers.

I’m using a mysql database to generate the xml data and the framework I’m using is codeigniter.

In my controller - I call the combo boxes.

            public function country()
            {
                    //data feed
                    $this->load->database();

                    $combo = new ComboConnector($this->db, "phpCI");
//                    $combo->enable_log("temp.log");
                    $combo->dynamic_loading();
                    $combo->render_sql("SELECT * FROM default_geo_country order by country asc","id","country"); 
            }  
            
            public function office()
            {
                    //data feed
                    $this->load->database();

                    $combo = new ComboConnector($this->db, "phpCI");
                    $combo->dynamic_loading();
                    $combo->render_sql("SELECT * FROM default_offices order by title asc","id","title"); 
            }  
            
            public function region()
            {
                    //data feed
                    $this->load->database();

                    $combo = new ComboConnector($this->db, "phpCI");
                    $combo->dynamic_loading();
                    $combo->render_sql("SELECT * FROM default_region order by title asc","id","title"); 
            }              
            
            public function campaign()
            {                
                    //data feed
                    $this->load->database();

                    $combo = new ComboConnector($this->db, "phpCI");
                    $combo->dynamic_loading();
                    $combo->render_sql("SELECT * FROM default_campaigns order by title asc","id","title");                    
            }    
            
            public function programme()
            {
                    //data feed
                    $this->load->database();

                    $combo = new ComboConnector($this->db, "phpCI");
                    $combo->dynamic_loading();
                    $combo->render_sql("SELECT * FROM default_programmes order by title asc","id","title"); 
            } 

I have error logs in my app - and I received these errors -

ERROR - 2013-07-08 15:39:27 --> Severity: Warning --> Missing argument 1 for DataWrapper::__construct(), called in C:\xampp\htdocs\ananas2\third_party\modules\dhtmlx\connector\base_connector.php on line 492 and defined C:\xampp\htdocs\ananas2\third_party\modules\dhtmlx\connector\db_common.php 499
ERROR - 2013-07-08 15:39:27 --> ErrorException [ 2 ]: Missing argument 2 for DataWrapper::__construct(), called in C:\xampp\htdocs\ananas2\third_party\modules\dhtmlx\connector\base_connector.php on line 492 and defined ~ C:\xampp\htdocs\ananas2\third_party\modules\dhtmlx\connector\db_common.php [ 499 ]
ERROR - 2013-07-08 15:39:29 --> ErrorException [ 8 ]: Undefined variable: config ~ C:\xampp\htdocs\ananas2\third_party\modules\dhtmlx\connector\db_common.php [ 500 ]
ERROR - 2013-07-08 15:39:29 --> ErrorException [ 8 ]: Undefined variable: connection ~ C:\xampp\htdocs\ananas2\third_party\modules\dhtmlx\connector\db_common.php [ 501 ]

I think one issue might be a problem with that I’m using - $combo->dynamic_loading(); without passing a parameter, is dynamic_loading only used when you load blocks of data?

Our work is on our internal network, we do not have any servers or computers outside of the network, that I could put the demo on, is there another way to do the demo, to solve the problem?


#4

I have same issue of combo cell displaying id instead of text, Did you guys found any solutions? It would be a great help.
Thanks in advance.