private void ItemDataBound(object sender, ListItemDataBoundEventArgs args)
        {
            CustomListDataItem listDataItem = (CustomListDataItem)args.NewItem;
            BussinessObject    dataObject   = (BussinessObject)listDataItem.DataBoundItem;

            listDataItem.Name      = dataObject.Name;
            listDataItem.Available = dataObject.Available;
        }
        protected override void PropertySynchronized(RadProperty property)
        {
            CustomListDataItem dataItem = (CustomListDataItem)this.Data;

            if (property == CustomListDataItem.AvailableProperty)
            {
                bool newValue = dataItem.Available;

                this.checkBox.Checked = newValue;

                string itemName = dataItem.Name;
                this.label.Text = this.GetAvailabilityText(itemName, newValue);
            }

            if (property == CustomListDataItem.NameProperty)
            {
                string itemName  = dataItem.Name;
                bool   available = dataItem.Available;
                this.label.Text = this.GetAvailabilityText(itemName, available);
            }

            this.Text = "";
        }