自定义的集合类 /// <summary> /// Collection 的摘要说明。 /// </summary> public class Collection : System.Collections.CollectionBase { public Collection() { for(int i = 0;i < 10;i++) { base.InnerList.Add(new Element(i,string.Format("a[{0}]",i))); } } }
集合元素类 public class Element { private string name; public string ValueName { get{return name;} } private int valu; public int Value { get{return valu;} } public Element(int val,string nam) { name = nam; valu = val; } }
aspx的后置代码 /// <summary> /// WebForm1 的摘要说明。 /// </summary> public class WebForm1 : System.Web.UI.Page { protected System.Web.UI.WebControls.DataGrid DataGrid1; private void Page_Load(object sender, System.EventArgs e) { DataGrid1.DataSource = new Collection(); DataGrid1.DataBind(); }
#region Web 窗体设计器生成的代码 override protected void OnInit(EventArgs e) { // // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。 // InitializeComponent(); base.OnInit(e); } /// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { this.Load += new System.EventHandler(this.Page_Load);
} #endregion }
aspx页的html代码 <body MS_POSITIONING="FlowLayout"> <form id="Form1" method="post" runat="server"> <asp:DataGrid id="DataGrid1" runat="server" AutoGenerateColumns="False" Width="224px"> <Columns> <asp:TemplateColumn HeaderText="名称"> <ItemTemplate> <asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.ValueName") %>'> </asp:Label> </ItemTemplate> <EditItemTemplate> <asp:TextBox runat="server" Text='<%# DataBinder.Eval(Container, "DataItem") %>'> </asp:TextBox> </EditItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn HeaderText="数字"> <ItemTemplate> <asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.Value") %>'> </asp:Label> </ItemTemplate> <EditItemTemplate> <asp:TextBox runat="server" Text='<%# DataBinder.Eval(Container, "DataItem") %>'> </asp:TextBox> </EditItemTemplate> </asp:TemplateColumn> </Columns> </asp:DataGrid> </form> </body> </HTML>

|