ASP.NET控件开发基础(19)

http://tech.ddvip.com   2007年09月02日    社区交流

内容摘要:上两篇讨论了基本数据绑定控件的实现步骤,基本上我们按着步骤来就可以做出简单的数据绑定控件了。过年前在看DataGrid的实现,本来想写这个的,但2.0出了GridView了,再说表格控件实现比较复杂,所以先放着。我们一起打开MSDN来看点别的,当然主题还是离不开数据绑定控件。

  2. 第二类控件比较复杂,如CheckBoxList是一个CheckBox项列表,其实现了IRepeatInfoUser接口,实现此接口的有如

  CheckBoxList、DataList、RadioButtonList。下面说明实现步骤

  public class CustomCheckBoxList: ListControl, IRepeatInfoUser,
          INamingContainer, IPostBackDataHandler
  {
  }

  2.1 实现IRepeatInfoUser接口

  IRepeatInfoUser接口定义了重复项列表的列表控件实现的属性和方法

  RenderItem方法用于呈现其中的一项信息。如下代码

protected virtual void RenderItem(ListItemType itemType,
          int repeatIndex,
          RepeatInfo repeatInfo,
          HtmlTextWriter writer)
      {
        ListItem item = Items[repeatIndex];
        check_box.Attributes.Clear();
        if (item.Attributes.Count>0)
        {
          foreach (string text in item.Attributes.Keys)
          {
            this.check_box.Attributes[text] = item.Attributes[text];
          }
        }
  
        check_box.ID = repeatIndex.ToString(CultureInfo.InvariantCulture);
        check_box.Text = item.Text;
        check_box.Checked = item.Selected;
        check_box.TextAlign = TextAlign;
        check_box.Enabled = Enabled;
        check_box.RenderControl(writer);
      }

责编:豆豆技术应用

正在加载评论...