A: 

You need to ensure that the same datamodel is preserved in the subsequent request. The value attribtue of the datatable must return exactly the same datamodel during form submit as it was during display. If the datamodel is not present or different, then chances are that the map of selected items won't be filled as you'd expect.


Update as per the comment: you also need to ensure that the table and the submit button are inside the same <h:form>.

BalusC
the map which i submit polulates the ids properly, the problem is only with the boolean value for the selected id.
Abdul
To avoid the obvious: are the table and the submit button inside the same form?
BalusC
Thanks soo much BalusC... You are a master stroke. It was just so silly of me to ignore the form.
Abdul
You're welcome :)
BalusC
yep i have marked it answered.
Abdul