您的位置:首页 > 移动开发 > Objective-C

关于GridView修改,更新,删除操作

2012-05-25 09:37 489 查看
首先从后台读取数据,然后将数据绑定到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();

}


当上述事件都添加成功的话前台会显示到GridView当中

<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>



RowDeleted与RowDeleting区别


RowDeleting单击某一行的“删除”按钮后,在 GridView 控件删除该行之前,将引发RowDeleting事件,此时还可以取消删除操作,如有必要,您还可以在将值传递给数据源之前操作 Keys 和 Values 集合。
RowDeleted 
单击某一行的“删除”按钮后,在 GridView 控件删除该行之后,将引发RowDeleted事件。
此时您可以确定受影响的行数以及可能已经发生的任何异常区别


的区别?

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐