update data view control, deal with empty array