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();
}
}
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。