ASP.net动态生成table(原创)

本文介绍了一个基于C#的ASP.NET实现,动态生成表格并进行数据验证的例子。用户输入商品种类数,系统自动生成相应行数的表格,单元格内可填写商品信息。单价和入库数量字段仅接受数字,金额为只读。代码包括商品结构类、商品类型类、单元格模型类以及动态创建表格的页面。表格中的数量输入触发事件,实时计算金额总和,并进行数据格式验证。
摘要由CSDN通过智能技术生成
 
此例子是基于c#的Asp.net
上网找了很多动态生成table例子,发现太简陋,笔者在此写一个完整版的...效果如下:
1.输入商品种类数,动态生成需要的行数,在每一个单元格可以填写相应的信息,
2.其中单价,和入库数量只能填写数字,金额是只读框(因为金额=商品数量*单价,用户没有必要填写)
3.当填写完整一行信息(商品名称,数量,金额),将会自动计算金额数..
­
­
文件结构如下图示:
MerchandiseInfo.cs是商品的结构类.
MerchandiseType.cs是商品类型的结果类.
TableCellModle.cs 是技术重点,此类中有生成各种单元格(TableCell)的方法,for example:
                  具有下拉列表的单元格方法(CreateCellddl),生成列标题的单元格方法(C
                  reateHeadCell)生成列标题的不同颜色单元格方法(CreateHeadCellColo
                  r)...
­
AotuCreatTable.aspx/cs是显示table的页面.
­
代码: MerchandiseInfo.cs
using System;
using System.Collections.Generic;
using System.Text;
­
public class MerchandiseInfo
{
    /// 商品编号
    private string m_ID;
    public string ID
    {
        get { return m_ID; }
        set { m_ID = value; }
    }
    /// 商品名称
    private string m_Name;
    public string Name
    {
        get { return m_Name; }
        set { m_Name = value; }
    }
        /// 商品数量
    private int m_Number;
    public int Number
    {
        get { return m_Number; }
        set { m_Number = value; }
    }
    /// 商品分类
    private string m_TID;
    public string TID
    {
        get { return m_TID; }
        set { m_TID = value; }
    }
    /// 金额
    private decimal m_Amount;
    /// 金额
      public decimal Amount
    {
        get { return m_Amount; }
        set { m_Amount = value; }
    }
    /// 单价
    private decimal m_Price;
    public decimal Price
    {get { return m_Price; }
    set { m_Price = value; }
    }
    /// 备注
    private string m_Remark;
    public string Remark
    {
        get { return m_Remark; }
        set { m_Remark = value; }
    }
        /// 全赋值构造函数
        public MerchandiseInfo(string pName, decimal pPrice,
         int pNumber, string pTID, decimal pAmount, string pRemark)
    {
        m_Name = pName;
        m_TID = pTID;
        m_Amount = pAmount;
        m_Price = pPrice;
        m_Number = pNumber;
        m_Remark = pRemark;
    }
}
MerchandiseType.cs
public class MerchandiseType
{
       /// 商品类型名称
       private string m_Name;
    
    public string Name
    {
        get { return m_Name; }
        set { m_Name = value; }
    }
      ///  商品类型ID
    private string m_ID;
       public string ID
    {
        get { return m_ID; }
        set { m_ID = value; }
    }
    /// 全参函数
    public MerchandiseType(string pID, string pName)
    { m_ID = pID;
        m_Name = pName;
    }
}
TableCellModle.cs
/// 列表的单元格类
public class TableCellModle
{
    private TableCell tablecell = new TableCell();
    private TextBox textbox = new TextBox();
    private HiddenField hiField;
    private DropDownList ddl;
    public TableCellModle()
    {}
    /// 具有下拉列表的
    public TableCell CreateCellddl(string tID, string tText, int tPoint, int twidth, int tHeight, int lwidth, int lHeight, ref IList<MerchandiseType> MTypeList)
    {
        ddl = new DropDownList();
        ddl.DataSource = MTypeList;
        ddl.DataTextField = "Name";
        ddl.DataValueField = "ID";
        ddl.DataBind();
        ddl.AutoPostBack = false;
        ddl.ID = tID ;
        ddl.Font.Size = FontUnit.Point(tPoint);
        ddl.Width = twidth;
        ddl.Height = tHeight;
        ddl.BorderWidth = 0;
         tablecell.Controls.Add(ddl);
        tablecell.Width = lwidth;
   
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值