ASP.NET中的gridview如何增加一行呢,下面介绍一种最简单的方式。
只使用后台的数据,在后台的datatable或者list增加一项,然后重新绑定gridview。
直接看代码
效果:
实体类
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<PersonModel> personCollect = new List<PersonModel>(); private static MainManager instance = null; public List<PersonModel> 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); } }
<head runat="server"> <title></title> </head> <body id="MyBody" runat="server" ms_positioning="GridLayout"> <form id="Form1" runat="server" method="post"> <div> <asp:Button ID="btnAdd" runat="server" OnClick="AddItem_Click" Text="增加" /> <asp:GridView ID="dgPersons" runat="server" AutoGenerateColumns="False" EnableViewState="false" CellPadding="4" ForeColor="#333333" DataKeyNames="PersonID"> <Columns> <asp:CommandField ShowSelectButton="True" /> <asp:BoundField DataField="PersonIndex" HeaderText="序号"/> <asp:TemplateField> <ItemTemplate> <input id="radiobutton1" name="pselect" type="radio" /> </ItemTemplate> </asp:TemplateField> <asp:BoundField DataField="PersonName" HeaderText="姓名" /> <asp:BoundField DataField="PersonAge" HeaderText="年龄" /> <asp:BoundField DataField="PersonSex" HeaderText="性别" /> </Columns> <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" /> <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" /> <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" /> <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" /> <EditRowStyle BackColor="#999999" /> <AlternatingRowStyle BackColor="White" ForeColor="#284775" /> </asp:GridView> </div> </form> </body>
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中的数据修改成操作过的值或状态,再进行绑定。
创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。
文章题目:ASP.NET—002:GridView手动增加一行-创新互联
网站地址:https://www.cdcxhl.com/article8/dsidop.html
成都网站建设公司_创新互联,为您提供外贸网站建设、搜索引擎优化、网站设计、电子商务、外贸建站、标签优化
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联