首先从后台读取数据,然后将数据绑定到GridView当中,
注意的是需要把列id赋值给GridView的DatakeyNames。
private void Load()
{
string sql = "select * from dnt_IndexImg";
DataSet ds=DataSqlAdaper.ExecuteDataset(DataSqlAdaper.connString,CommandType.Text,sql);
GridView1.DataSource = ds;
GridView1.DataKeyNames = new string[] { "id" };
GridView1.DataBind();
}
然后从属性中添加事件
修改事件
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
Load();
}
取消修改事件
protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
GridView1.EditIndex = -1;
Load();
}
更新事件
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
TextBox tbx = (TextBox)GridView1.Rows[e.RowIndex].FindControl("TextBox1");
TextBox tbx2 = (TextBox)GridView1.Rows[e.RowIndex].FindControl("TextBox2");
TextBox tbx3 = (TextBox)GridView1.Rows[e.RowIndex].FindControl("TextBox3");
string id = GridView1.DataKeys[e.RowIndex].Value.ToString();
string sql = "";
int res= DataSqlAdaper.ExecuteNonQuery(DataSqlAdaper.connString, CommandType.Text, sql);
if (res != 0)
GridView1.EditIndex = -1;
Load();
}
删除事件
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
string id = GridView1.DataKeys[e.RowIndex].Value.ToString();
string sql ="";
int res= DataSqlAdaper.ExecuteNonQuery(DataSqlAdaper.wpConnStr,CommandType.Text,sql);
if(res!=0)
Response.Write("<script>alert('成功');</script>");
show();
}
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="id" Height="58px" Width="803px" CellPadding="4" ForeColor="#333333" GridLines="None" OnRowEditing="GridView1_RowEditing" OnRowUpdating="GridView1_RowUpdating" OnRowCancelingEdit="GridView1_RowCancelingEdit" OnRowDeleting="GridView1_RowDeleting">
这是前台代码
<Columns>
<asp:BoundField DataField="id" HeaderText="id" InsertVisible="False"
SortExpression="id" ReadOnly="True" />
<asp:TemplateField HeaderText="img1" SortExpression="img1">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Eval("img1") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("img1") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="img2" SortExpression="img2">
<EditItemTemplate>
<asp:TextBox ID="TextBox2" runat="server" Text='<%# Eval("img2") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<%# Eval("img2") %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="link" SortExpression="link">
<EditItemTemplate>
<asp:TextBox ID="TextBox3" runat="server" Text='<%# Eval("link") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Eval("link") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="position" HeaderText="position" SortExpression="position" ReadOnly="True" />
<asp:TemplateField ShowHeader="False" HeaderText="操作">
<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>
<asp:LinkButton ID="LinkButton3" runat="server" CausesValidation="False" CommandName="delete"
Text="删除"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>