zoukankan      html  css  js  c++  java
  • asp.net 在GridView控件上实现修改、添加、删除

    一:修改
    先来看一下效果

    步骤一:先创建一个GridView 在编辑列中将此字段转换为TemplateField

    View Code
    <asp:GridView ID="GridUpdaMoney" runat="server"
    BackColor
    ="White" BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px"
    CellPadding
    ="3" EmptyDataText="暂时没有数据" AutoGenerateColumns="False"
    DataKeyNames
    ="id" onrowcancelingedit="GridUpdaMoney_RowCancelingEdit"
    onrowediting
    ="GridUpdaMoney_RowEditing"
    onrowupdating
    ="GridUpdaMoney_RowUpdating">
    <RowStyle ForeColor="#000066"/>
    <Columns>

    <asp:TemplateField HeaderText="工资申报年月份">
    <EditItemTemplate>
    <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("C_Year") %>' onFocus="WdatePicker()"></asp:TextBox>
    </EditItemTemplate>
    <ItemTemplate>
    <asp:Label ID="Label1" runat="server" Text='<%# Bind("C_Year") %>'></asp:Label>
    </ItemTemplate>
    <ItemStyle HorizontalAlign="Center"/>
    </asp:TemplateField>
    <asp:TemplateField HeaderText="标准工资">
    <EditItemTemplate>
    <asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("C_BasicMoney") %>'></asp:TextBox>
    </EditItemTemplate>
    <ItemTemplate>
    <asp:Label ID="Label2" runat="server" Text='<%# Bind("C_BasicMoney") %>'></asp:Label>
    </ItemTemplate>
    <ItemStyle HorizontalAlign="Center"/>
    </asp:TemplateField>
    <asp:TemplateField HeaderText="申请状态">
    <ItemTemplate>
    <asp:Label ID="status" runat="server" Text='<%# GetStatus(Eval("status").ToString()) %>'></asp:Label>
    </ItemTemplate>
    <ItemStyle HorizontalAlign="Center"/>
    </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>
    </asp:TemplateField>
    </Columns>
    <FooterStyle BackColor="White" ForeColor="#000066"/>
    <PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left"/>
    <SelectedRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White"/>
    <HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White"/>
    </asp:GridView>
    步骤二:添加事件RowCancelingEdit
    View Code
    protectedvoid GridUpdaMoney_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
    {
    GridUpdaMoney.EditIndex
    =-1;
    BindGridUpdaMoney(ViewState[
    "PersonCardNo"].ToString());
    }
    步骤三:添加RowUpdating事件
    View Code
    protectedvoid GridUpdaMoney_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
    int id = Convert.ToInt32(GridUpdaMoney.DataKeys[e.RowIndex].Value);
    TextBox year
    = GridUpdaMoney.Rows[e.RowIndex].FindControl("TextBox1") as TextBox;
    TextBox money
    = GridUpdaMoney.Rows[e.RowIndex].FindControl("TextBox2") as TextBox;
    BasicMoney bm
    =new BasicMoney();
    bm.Id
    = id;
    bm.Year
    = Convert.ToDateTime(year.Text.Trim());
    bm.BasicMoney1
    = Convert.ToDecimal(money.Text.Trim());
    int result = BasicMoney.UpdaBasicMoneyById(bm);
    if (result >0)
    {
    JS.Alert(Page,
    "修改成功");
    }
    else
    {
    JS.Alert(Page,
    "修改失败");
    }
    GridUpdaMoney.EditIndex
    =-1;
    BindGridUpdaMoney(ViewState[
    "PersonCardNo"].ToString());
    }
    步骤四:添加RowEditing事件
    View Code
    protectedvoid GridUpdaMoney_RowEditing(object sender, GridViewEditEventArgs e)
    {
    GridUpdaMoney.EditIndex
    = e.NewEditIndex;
    BindGridUpdaMoney(ViewState[
    "PersonCardNo"].ToString());
    }
     
    二:删除(2012-2-9日修改随笔)
    删除和添加效果

     

    View Code
    <asp:GridView Width="100%" ID="GridView2" runat="server" 
    AutoGenerateColumns="False" DataKeyNames="id"
    onrowcancelingedit="GridView2_RowCancelingEdit" ShowFooter="True"
    onrowupdating="GridView2_RowUpdating" onrowediting="GridView2_RowEditing"
    EmptyDataText="暂时没有数据" onrowdeleting="GridView2_RowDeleting"
    onrowcommand="GridView2_RowCommand">
    <EmptyDataRowStyle HorizontalAlign="Center" VerticalAlign="Top" />
    <Columns>
    <asp:TemplateField >
    <EditItemTemplate>
    <asp:TextBox ID="TextBox2" runat="server" Width="50" Text='<%# Bind("difficultName") %>'></asp:TextBox>
    </EditItemTemplate>
    <ItemTemplate>
    <asp:Label ID="Label1" runat="server" Text='<%# Bind("difficultName") %>'></asp:Label>
    </ItemTemplate>
    <FooterTemplate>
    <asp:TextBox ID="TextBox4" runat="server" Width="50"></asp:TextBox>
    </FooterTemplate>

    <FooterStyle HorizontalAlign="Center" VerticalAlign="Middle" />

    <HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" />
    <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" Width="300px" />
    </asp:TemplateField>
    <asp:TemplateField>
    <EditItemTemplate>
    <asp:TextBox ID="TextBox3" runat="server" Width="50" Text='<%# Bind("waitScore") %>'></asp:TextBox>
    </EditItemTemplate>
    <ItemTemplate>
    <asp:Label ID="Label2" runat="server" Text='<%# Bind("waitScore") %>'></asp:Label>
    </ItemTemplate>
    <FooterTemplate>
    <asp:TextBox ID="TextBox5" runat="server" Width="50"></asp:TextBox>
    </FooterTemplate>

    <FooterStyle HorizontalAlign="Center" VerticalAlign="Middle" />

    <HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" />
    <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" Width="300px" />
    </asp:TemplateField>
    <asp:TemplateField ShowHeader="false" InsertVisible="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>
    <asp:LinkButton ID="LinkButton4" runat="server" CausesValidation="False"
    CommandName="Delete" Text="删除"></asp:LinkButton>

    </ItemTemplate>
    <FooterTemplate>
    <asp:LinkButton ID="LinkButton3" runat="server" CausesValidation="True" CommandName="Insert"
    Text="插入"></asp:LinkButton>
    </FooterTemplate>

    <HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" />
    <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
    </asp:TemplateField>
    </Columns>
    </asp:GridView>
    删除代码:
    View Code
     protected void GridView2_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
    int id = Convert.ToInt32(GridView2.DataKeys[e.RowIndex].Value);
    difficu.Delete(id);
    Bind();
    }
    添加代码:(注要显示添加的行必须设置属性 ShowFooter="True" )
    View Code
    protected void GridView2_RowCommand(object sender, GridViewCommandEventArgs e)
    {
    try
    {
    switch (e.CommandName)
    {
    case "Insert":
    myWeb.Model.DifficultDegree d = new myWeb.Model.DifficultDegree();
    d.fatherId = 4;
    d.difficultName = ((TextBox)GridView2.FooterRow.FindControl("TextBox4")).Text;
    d.waitScore = Convert.ToInt32(((TextBox)GridView2.FooterRow.FindControl("TextBox5")).Text);
    difficu.Add(d);
    Bind();
    break;
    }
    }
    catch (Exception ex)
    { }

    }
    完成,为了不忘记就记录一下...
     
  • 相关阅读:
    关于json字符串与实体之间的严格验证
    SQL Pretty Printer 一款值得你拥有的MSSQL格式化插件
    ABP增加记录EFCore 生成数据库脚本日志到新的txt文件
    Multiple types were found that match the controller named 'Auth'.
    sqlserver 交叉去重
    sqlserver分组排序取前三条数据
    C# 读取.resx资源文件写入到json文件中
    SqlServer根据经纬度排序
    .net core 简单定时程序
    使用游标,查询一张的数据往另外三张表里面添加数据
  • 原文地址:https://www.cnblogs.com/MyBeN/p/2008218.html
Copyright © 2011-2022 走看看