Chinaunix首页 | 论坛 | 博客
  • 博客访问: 70272
  • 博文数量: 15
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 219
  • 用 户 组: 普通用户
  • 注册时间: 2014-01-21 17:53
文章分类
文章存档

2014年(15)

我的朋友

分类: C#/.net

2014-02-19 11:17:51

ASP.NET中的gridview如何增加一行呢,下面介绍一种最简单的方式。
只使用后台的数据,在后台的datatable或者list增加一项,然后重新绑定gridview。
直接看代码
效果:
SouthEast
实体类

public class PersonModel
    {
        private int personIndex;


        public int PersonIndex
        {
            get { return personIndex; }


            set { personIndex = value; }
        }


        private string personID;


        public string PersonID
        {
            get { return personID; }


            set { personID = value; }
        }


        private string personName;


        public string PersonName
        {
            get { return personName; }


            set { personName = value; }
        }


        private string personSex;


        public string PersonSex
        {
            get { return personSex; }


            set { personSex = value; }
        }


        private int personAge;


        public int PersonAge
        {
            get { return personAge; }


            set { personAge = value; }
        }


        private bool personSelected = false;


        public bool PersonSelected
        {
            get { return personSelected; }


            set { personSelected = value; }
        }
    }



页面管理类

public class MainManager
    {
        private int sIndex = 0;


        private List personCollect = new List();


        private static MainManager instance = null;


        public List PersonCollect
        {
            get { return personCollect; }


            set { personCollect = value; }
        }


        public static MainManager DoGetInstance()
        {
            if (instance == null)
            {
                instance = new MainManager();
            }


            return instance;
        }


        public void DoAddSinglePersons()
        {
            sIndex = this.PersonCollect.Count;


            PersonModel model = new PersonModel();


            model.PersonIndex = sIndex;


            model.PersonID = System.Guid.NewGuid().ToString();


            model.PersonName = "测试" + sIndex;


            model.PersonAge = 17 + sIndex;


            model.PersonSex = sIndex % 2 == 0 ? "男" : "女";


            model.PersonSelected = false;


            this.PersonCollect.Add(model);
        }
    }



前台


   


   

   

   
         EnableViewState="false"
    CellPadding="4"  ForeColor="#333333" DataKeyNames="PersonID">
    
        
      
      
      
      
      

      

      
      
      
    

       
           
           
           
           
           
            
   

   

   





后台

public partial class _Default : System.Web.UI.Page
    {
        private MainManager dManager = null;


        protected PersonModel selectItem = null;


        protected void Page_Load(object sender, EventArgs e)
        {
            dManager = MainManager.DoGetInstance();


            if (!IsPostBack)
            {
                dManager.DoAddSinglePersons();


                this.dgPersons.DataSource = dManager.PersonCollect;


                this.dgPersons.DataBind();
            }
        }


        protected void AddItem_Click(object sender, EventArgs e)
        {
            dManager.DoAddSinglePersons();


            this.dgPersons.DataSource = dManager.PersonCollect;


            this.dgPersons.DataBind();
        }
    }

如果一行中有其他list控件比如 下拉列表asp:DropDownList,那么在实体中增加一个list,对应下拉列表的绑定。而且对于每一行的点击,选择等操作都要写相应的事件修改数据,下一次绑定时要将list中的数据修改成操作过的值或状态,再进行绑定。
当然一般来说,使用js增加比较正规一些,下一篇来介绍。
阅读(1845) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~