GridView绑定
在温习一下gridview绑定,包括最简单的增删改
Html代码如下:
Code
<div>
<asp:GridView ID="gvArea" runat="server" AutoGenerateColumns="False" OnRowCancelingEdit="gvArea_RowCancelingEdit"
OnRowDeleting="gvArea_RowDeleting" OnRowEditing="gvArea_RowEditing" OnRowUpdating="gvArea_RowUpdating"
CellPadding="4" ForeColor="#333333" GridLines="None">
<RowStyle BackColor="#EFF3FB" />
<Columns>
<asp:TemplateField HeaderText="编号">
<ItemTemplate>
<asp:Label ID="lblID" runat="server" Text='<%# Bind("ID") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="功能区">
<EditItemTemplate>
<asp:TextBox ID="txtAreaName" runat="server" Text='<%# Bind("AreaName") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="lblName" runat="server" Text='<%# Bind("AreaName") %>'></asp:Label>
</ItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtName" runat="server"></asp:TextBox>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="描述">
<EditItemTemplate>
<asp:TextBox ID="txtAreaDescription" runat="server" Text='<%# Bind("AreaDescription") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="lblDescription" runat="server" Text='<%# Bind("AreaDescription") %>'></asp:Label>
</ItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtDescription" runat="server"></asp:TextBox>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="编辑" ShowHeader="False">
<EditItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="True" CommandName="Update"
Text="更新"></asp:LinkButton>
<asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" CommandName="Cancel"
Text="取消"></asp:LinkButton>
</EditItemTemplate>
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Edit"
Text="编辑"></asp:LinkButton>
</ItemTemplate>
<FooterTemplate>
<asp:Button ID="btnAdd" runat="server" Text="添 加" OnClick="btnAdd_Click" />
<asp:Button ID="btnCancel" runat="server" Text="取 消" OnClick="btnCancel_Click" />
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="删除" ShowHeader="False">
<ItemTemplate>
<asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" CommandName="Delete"
Text="删除"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<EditRowStyle BackColor="#2461BF" />
<AlternatingRowStyle BackColor="White" />
</asp:GridView>
<br />
<asp:Button ID="showAdd" runat="server" Text="添 加 记 录" Width="367px" OnClick="showAdd_Click" />
</div>
<div>
<asp:GridView ID="gvArea" runat="server" AutoGenerateColumns="False" OnRowCancelingEdit="gvArea_RowCancelingEdit"
OnRowDeleting="gvArea_RowDeleting" OnRowEditing="gvArea_RowEditing" OnRowUpdating="gvArea_RowUpdating"
CellPadding="4" ForeColor="#333333" GridLines="None">
<RowStyle BackColor="#EFF3FB" />
<Columns>
<asp:TemplateField HeaderText="编号">
<ItemTemplate>
<asp:Label ID="lblID" runat="server" Text='<%# Bind("ID") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="功能区">
<EditItemTemplate>
<asp:TextBox ID="txtAreaName" runat="server" Text='<%# Bind("AreaName") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="lblName" runat="server" Text='<%# Bind("AreaName") %>'></asp:Label>
</ItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtName" runat="server"></asp:TextBox>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="描述">
<EditItemTemplate>
<asp:TextBox ID="txtAreaDescription" runat="server" Text='<%# Bind("AreaDescription") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="lblDescription" runat="server" Text='<%# Bind("AreaDescription") %>'></asp:Label>
</ItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtDescription" runat="server"></asp:TextBox>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="编辑" ShowHeader="False">
<EditItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="True" CommandName="Update"
Text="更新"></asp:LinkButton>
<asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" CommandName="Cancel"
Text="取消"></asp:LinkButton>
</EditItemTemplate>
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Edit"
Text="编辑"></asp:LinkButton>
</ItemTemplate>
<FooterTemplate>
<asp:Button ID="btnAdd" runat="server" Text="添 加" OnClick="btnAdd_Click" />
<asp:Button ID="btnCancel" runat="server" Text="取 消" OnClick="btnCancel_Click" />
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="删除" ShowHeader="False">
<ItemTemplate>
<asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" CommandName="Delete"
Text="删除"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<EditRowStyle BackColor="#2461BF" />
<AlternatingRowStyle BackColor="White" />
</asp:GridView>
<br />
<asp:Button ID="showAdd" runat="server" Text="添 加 记 录" Width="367px" OnClick="showAdd_Click" />
</div>
后台代码:
数据绑定
private void GridViewDataBind()
{
AreaDAO dao = new AreaDAO();
gvArea.DataSource = dao.GetAllArea();
gvArea.DataKeyNames = new string[] { "ID" };
gvArea.DataBind();
}
{
AreaDAO dao = new AreaDAO();
gvArea.DataSource = dao.GetAllArea();
gvArea.DataKeyNames = new string[] { "ID" };
gvArea.DataBind();
}
点击编辑按纽
protected void gvArea_RowEditing(object sender, GridViewEditEventArgs e)
{
gvArea.EditIndex = e.NewEditIndex;
GridViewDataBind();
}
{
gvArea.EditIndex = e.NewEditIndex;
GridViewDataBind();
}
更新
Code
protected void gvArea_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
int ID = int.Parse(gvArea.DataKeys[e.RowIndex].Value.ToString());
string name = ((TextBox)(gvArea.Rows[e.RowIndex].Cells[1].FindControl("txtAreaName"))).Text.ToString().Trim();
string description = ((TextBox)(gvArea.Rows[e.RowIndex].Cells[2].FindControl("txtAreaDescription"))).Text.ToString().Trim();
AreaDAO dao = new AreaDAO();
dao.UpdateArea(name, description, ID);
gvArea.EditIndex = -1;
GridViewDataBind();
}
protected void gvArea_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
int ID = int.Parse(gvArea.DataKeys[e.RowIndex].Value.ToString());
string name = ((TextBox)(gvArea.Rows[e.RowIndex].Cells[1].FindControl("txtAreaName"))).Text.ToString().Trim();
string description = ((TextBox)(gvArea.Rows[e.RowIndex].Cells[2].FindControl("txtAreaDescription"))).Text.ToString().Trim();
AreaDAO dao = new AreaDAO();
dao.UpdateArea(name, description, ID);
gvArea.EditIndex = -1;
GridViewDataBind();
}
取消
protected void gvArea_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
gvArea.EditIndex = -1;
GridViewDataBind();
}
{
gvArea.EditIndex = -1;
GridViewDataBind();
}
删除
Code
protected void gvArea_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
// 需要添加提示
int id = Convert.ToInt32(gvArea.DataKeys[e.RowIndex].Value);
AreaDAO dao = new AreaDAO();
dao.Delete(id);
GridViewDataBind();
}
protected void gvArea_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
// 需要添加提示
int id = Convert.ToInt32(gvArea.DataKeys[e.RowIndex].Value);
AreaDAO dao = new AreaDAO();
dao.Delete(id);
GridViewDataBind();
}
添加记录
Code
//添加记录
protected void btnAdd_Click(object sender, EventArgs e)
{
TextBox areaName = gvArea.FooterRow.FindControl("txtName") as TextBox;
TextBox areaDescription = gvArea.FooterRow.FindControl("txtDescription") as TextBox;
AreaDAO dao = new AreaDAO();
dao.InsertArea(areaName.Text.Trim(), areaDescription.Text.Trim());
GridViewDataBind();
}
//取消
protected void btnCancel_Click(object sender, EventArgs e)
{
gvArea.ShowFooter = false;
GridViewDataBind();
}
//显示Footer
protected void showAdd_Click(object sender, EventArgs e)
{
gvArea.ShowFooter = true;
GridViewDataBind();
}
//添加记录
protected void btnAdd_Click(object sender, EventArgs e)
{
TextBox areaName = gvArea.FooterRow.FindControl("txtName") as TextBox;
TextBox areaDescription = gvArea.FooterRow.FindControl("txtDescription") as TextBox;
AreaDAO dao = new AreaDAO();
dao.InsertArea(areaName.Text.Trim(), areaDescription.Text.Trim());
GridViewDataBind();
}
//取消
protected void btnCancel_Click(object sender, EventArgs e)
{
gvArea.ShowFooter = false;
GridViewDataBind();
}
//显示Footer
protected void showAdd_Click(object sender, EventArgs e)
{
gvArea.ShowFooter = true;
GridViewDataBind();
}
很简单的东西长时间不用就忘记了,贴在这里待以后参考