develop a little of function onChangeDataSource