zoukankan      html  css  js  c++  java
  • 使用自定义的数据源进行DataGrid控件的数据绑定

     

    自定义的集合类
    /// <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>

  • 相关阅读:
    ASP.NET应用界面开发新工具推荐,不要错过
    WinForm应用程序的交互界面可以创建哪些样式?
    快速创建一个.NET 5 WPF应用程序,这招一定要Get
    Blazor应用界面开发
    DevExpress v21.1帮助文档下载大全分享
    WinForms应用界面开发入门教程指南
    Kendo UI 透视网格
    WPF应用界面开发新风向
    Angular UI组件库Kendo UI for Angular扩展组件,这些功能值得了解
    响应式Web开发框架DevExtreme v21.1
  • 原文地址:https://www.cnblogs.com/asyuras/p/165321.html
Copyright © 2011-2022 走看看