我拉了一个gridview控件,名字叫GridViewLogList,动态的从数据库里读出了表A的数据
我想任意的修改或者删除某一行
请高手给出修改和删除的代码?
删除里带个提示“确定要删除某行吗?”<asp:GridView ID="GridViewLogList" runat="server" Width="734px" CellPadding="4" ForeColor="#333333" GridLines="None" Height="136px" AllowPaging="True" OnRowDeleting="GridViewLogList_RowDeleting">
            <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
            <RowStyle BackColor="#EFF3FB" />
            <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" />
            <Columns>
                <asp:HyperLinkField HeaderText="修改" NavigateUrl="maintenanceLog.aspx" Text="修改" />
                <asp:HyperLinkField HeaderText="删除" NavigateUrl="logList.aspx" Text="删除" />
            </Columns>
        </asp:GridView>

解决方案 »

  1.   

    删除:
        添加模板列在html中<asp:TemplateField HeaderText="删除" ShowHeader="False">
                        <ItemTemplate>
                            <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandArgument='<%# Eval("TagID") %>'
                                CommandName="Delete" OnClientClick="return confirm('您确认删除该记录?');" Text="删除"></asp:LinkButton>
                        </ItemTemplate>
                    </asp:TemplateField>
      

  2.   

    修改:
        <asp:HyperLinkField DataNavigateUrlFields="PID(字段名)" DataNavigateUrlFormatString="EditPro.aspx?PID={0}" HeaderText="修改" Text="修改" />
      

  3.   

    不明白你的具体意思
    是用HyperLinkField 还是TemplateField ?
      

  4.   

    借用下一楼的代码:
    <asp:TemplateField HeaderText="删除" ShowHeader="False">
                        <ItemTemplate>
                            <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandArgument='<%# Eval("TagID") %>'
                                CommandName="Delete" OnClientClick="return confirm('您确认删除该记录?');" Text="删除"></asp:LinkButton>
                        </ItemTemplate>
                    </asp:TemplateField>
    TagID就是你绑定到GRIDVIEW中的数据源的DeleteCommand命令中的参数。随便举个例子:
    DeleteCommand = "delete from table where id = @TagID"
      

  5.   

    这是我自己的代码,可以参考一下:
       <asp:GridView ID="GridView1" runat="server" EnableViewState="true" OnPageIndexChanging="GridView1_PageIndexChanging" OnRowDeleting="GridView1_RowDeleting" OnRowDataBound="GridView1_RowDataBound">
                <Columns>
                    <asp:BoundField DataField="course_id" HeaderText="课程代码" />
                    <asp:BoundField DataField="course_name" HeaderText="课程名称" />
                    <asp:BoundField DataField="course_period" HeaderText="学时" />
                    <asp:BoundField DataField="course_credit" HeaderText="学分" />
                    <asp:BoundField DataField="course_kind" HeaderText="课程类型" />
                    <asp:BoundField DataField="course_describe" HeaderText="课程信息" />           
                    <asp:BoundField DataField="startToEnd" HeaderText="起始周" />
                    <asp:HyperLinkField HeaderText="修改" Text="修改" DataNavigateUrlFields="course_id" DataNavigateUrlFormatString="courseEdit.aspx?course_id={0}" />
                    <asp:CommandField ShowDeleteButton="True" />
                </Columns>          
            </asp:GridView>
    后台代码:
    //////删除
    BaseClass bc = new BaseClass();
     protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            bc.ExecSQL("delete from course where course_id='" + this.GridView1.DataKeys[e.RowIndex].Value.ToString() + "'");
            GridView1.DataSource = bc.GetDataSet("select * from [course]", "course");
            GridView1.DataKeyNames = new string[] { "course_id" };
            GridView1.DataBind();
        }
    修改可以再做一个页面courseEdit.aspx:<table>
                <tr>
                    <td>
                        编辑课程信息</td>
                </tr>
                <tr>
                    <td>
                        课程代码:</td>
                    <td>
                     <asp:TextBox ID="tb_id" runat="server" Width="200px"></asp:TextBox>
                    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="tb_id"
                            ErrorMessage="**"></asp:RequiredFieldValidator>
                    </td>
                </tr>
                <tr>
                    <td>
                        课程名称:</td>
                    <td>
                        <asp:TextBox ID="tb_name" runat="server" Width="200px"></asp:TextBox>
                        <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="tb_name"
                            ErrorMessage="**"></asp:RequiredFieldValidator></td>
                </tr>
                 <tr>
                    <td>
                        课程学时:</td>
                    <td>
                        <asp:TextBox ID="tb_period" runat="server" Width="200px"></asp:TextBox>
                        <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="tb_period"
                            ErrorMessage="**"></asp:RequiredFieldValidator>
                        <asp:CompareValidator ID="CompareValidator1" runat="server" ErrorMessage="必须为数字" Operator="dataTypeCheck" Type="Integer" ControlToValidate="tb_period"></asp:CompareValidator></td>
                </tr>
                 <tr>
                   <td>
                        课程学分:</td>
                  <td>
                        <asp:TextBox ID="tb_credit" runat="server" Width="200px"></asp:TextBox>
                    
                        <asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ControlToValidate="tb_credit"
                            ErrorMessage="**"></asp:RequiredFieldValidator>
                        <asp:CompareValidator ID="CompareValidator2" runat="server" Display="Dynamic" ErrorMessage="必须为数字" Operator="dataTypeCheck" Type="Integer" ControlToValidate="tb_credit"></asp:CompareValidator></td>
                </tr>
                
                 <tr>
                   <td>
                        起始结束周:</td>
                     <td>
                     <asp:TextBox ID="tb_startToEnd" runat="server" Width="200px"></asp:TextBox>
                    
                        <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="tb_startToEnd" ValidationExpression="^(\d{0,1})-(\d{1,2})$" ErrorMessage="格式如:1-18"></asp:RegularExpressionValidator>         
                                          
                    </td>
                </tr>
                 <tr>
                   <td>
                        课程类型:</td>
                    <td>
                        <asp:DropDownList ID="DropDownList1" runat="server"  Width="145px">
                           <asp:ListItem Value = "0" Text="基础课"></asp:ListItem>                       
                            <asp:ListItem Value  = "1" Text="专业课"></asp:ListItem>
                            <asp:ListItem Value = "2" Text="公选课"></asp:ListItem>
                        </asp:DropDownList>
                     </td>
                    
                </tr>
                <tr>
                    <td>
                        课程描述:</td>
                  <td>
                        <asp:TextBox ID="tb_describe" runat="server" TextMode="multiLine" MaxLength="200" Height="123px" Width="311px"></asp:TextBox>(200个字符以内)
                        <asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server" ControlToValidate="tb_describe"
                            ErrorMessage="**"></asp:RequiredFieldValidator></td>
                </tr>
                
                <tr>
                   <td>
                    </td>
                  <td>
                        <asp:Button ID="btnSave" runat="server" OnClick="btnSave_Click" Text="保 存" Width="66px" />
                        <asp:Button ID="btnCancel" runat="server" CausesValidation="False" OnClick="btnCancel_Click"
                            Text="重 置" /></td>
                </tr>
            </table>
    后台代码:
        BaseClass bc = new BaseClass();   
        protected void Page_Load(object sender, EventArgs e)
        {      
            if (!IsPostBack)
            {      
                  
                DataSet ds = bc.GetDataSet("select * from [course] where course_id='" + Request.QueryString["course_id"] + "'", "course");
                DataRow[] row = ds.Tables[0].Select();
                foreach (DataRow rs in row)
                {
                    tb_id.Text = rs["course_id"].ToString();
                    tb_name.Text = rs["course_name"].ToString();
                    tb_period.Text = rs["course_period"].ToString();
                    tb_credit.Text = rs["course_credit"].ToString();
                  
                    tb_startToEnd.Text = rs["startToEnd"].ToString();
                    DropDownList1.Text = rs["course_kind"].ToString();
                    tb_describe.Text = rs["course_describe"].ToString();
                  
                }
               
            }
        }
        protected void btnSave_Click(object sender, EventArgs e)
        {        
            string str;
            str = "UPDATE [course] SET course_id = '" + tb_id.Text + "', course_name = '" + tb_name.Text + "',course_period='" + tb_period.Text + "',course_credit='" + tb_credit.Text + "', startToEnd='" + tb_startToEnd.Text + "',course_kind='" + DropDownList1.SelectedValue + "',course_describe='" + tb_describe.Text + "' WHERE (course_id = '" + Request.QueryString["course_id"] + "')";
            Boolean bl;
            bl = bc.ExecSQL(str);
            if (bl)
            {
                Response.Write(bc.MessageBox("课程信息更新成功!"));
                Response.Write("<script>location='courseList.aspx'</script>");    
               
            }
            else
            {
                Response.Write(bc.MessageBox("课程信息更新失败!"));
            }
        }
      

  6.   

    修改的里面怎么,一边放参数  "EditPro.aspx?PID={0}"
    那另一边如何接受参数?
      

  7.   

    <ItemTemplate>
     <asp:LinkButton id="Detail" runat="server" CommandName="Edit" ToolTip="查看并编辑记录">详细</asp:LinkButton>&nbsp;
    <asp:LinkButton id="Delete" runat="server" CommandName="Delete" ToolTip="删除记录" OnClientClick="return confirm('确认要删除吗?');">删除</asp:LinkButton>
    </ItemTemplate>在.cs文件下
    string id = GridView1.DataKeys[e.RowIndex].Values[0].ToString();//在 GridView中的dataKeyNames下绑定一个字段,这里就是取你选择行的那个关键字段