Two combos populated from the same datastore

Hello,

I have a datastore which contains information about person: id, firstname, lastname. What I would like to achieve, is to popup a form with two combos synced with this datastore. One should contain only firstnames, second - only lastnames.

my idea was to define 2 slave datastores synced with the master

var slaveDS_FirstName = new dhtmlXDataStore({
    datatype: 'xml',
    scheme: {
        $init: function(obj) {
            obj.value = obj.id;
            obj.text = obj.firstname;
        }
    }
});
var slaveDS_LastName = new dhtmlXDataStore({
    datatype: 'xml',
    scheme: {
        $init: function(obj) {
            obj.value = obj.id;
            obj.text = obj.lastname;
        }
    }
});

load data to the master DS and sync slaves:

var masterDS = dhtmlXDataStore();
masterDS.load(URL, 'xml', function() {
    slaveDS_FirstName.sync(masterDS);
    slaveDS_LastName.sync(masterDS);
});

and later, sync combos with slaves:

form.getCombo('firstname').sync(slaveDS_FirstName);
form.getCombo('lastname').sync(slaveDS_LastName);

It didn’t work as I expected, so after a while I figured it out, that slave datastores are populated with data from masterDS, however $init method is not called, so value and text properties are not assigned. For this reason, combos contain as many items as in masterDS, but all they are empty.

Is there any way to fix this, or maybe I should try another approach? Any ideas?

Thanks in advance.

George