<%@ Page Language="C#" AutoEventWireup="true" Codebehind="Default.aspx.cs" Inherits="WebApplication2._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>未命名頁面</title>
    <style type="text/css">       
    .hide{display:none;}  
    </style>

<script type="text/javascript">        //选中所有行       
    function SelectAll(chkAll)      
     {          
      var gridview = document.getElementById("GridView1");      
           if (gridview)     
                 {             
                  //获取到GridView1中的所有input标签             
                  var inputs = gridview.getElementsByTagName("input");           
                     for(var i=0;i<inputs.length;i++)          
                         {           
                             if (inputs[i].type=="checkbox")    
                                   {              
                                        //设置所有checkbox的选中状态与chkAll一致           
                                        inputs[i].checked = chkAll.checked;     
                                     }      
                          }     
         }  
      }         
                                                                                          
 //给选中行换背景色      
      function checkRow(chkRow)     
       {        
          var row = chkRow.parentNode.parentNode;    
              if(row)        
                {             
                    if (chkRow.checked)    
                        row.style.backgroundColor="#7799CC";
                         else  
                          row.style.backgroundColor="#FFFFFF";
                           }      
                           }  
    </script>

</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:LinkButton ID="lbtnAddRow" runat="server" Width="80px" OnClick="lbtnAddRow_Click">添加行</asp:LinkButton>
            <asp:LinkButton ID="btnDeleteRow" runat="server" OnClick="btnDeleteRow_Click" OnClientClick="return confirm('确定要删除选中行吗?');">删除选中行</asp:LinkButton>
        </div>
        <div>
            <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4"
                ForeColor="#333333">
                <Columns>
                    <asp:BoundField DataField="ID" HeaderText="ID">
                        <ItemStyle CssClass="hide" BorderColor="#507CD1" />
                        <HeaderStyle CssClass="hide" />
                    </asp:BoundField>
                    <asp:TemplateField HeaderText="序号">
                        <ItemTemplate>
                            <%# Container.DataItemIndex + 1%>
                        </ItemTemplate>
                        <ItemStyle BorderColor="#507CD1" HorizontalAlign="Center" BorderWidth="1px" />
                    </asp:TemplateField>
                    <asp:TemplateField>
                        <HeaderTemplate>
                            <input id="chkAll" type="checkbox" onclick="SelectAll(this)" />
                        </HeaderTemplate>
                        <ItemTemplate>
                            <input id="chkRow" type="checkbox" onclick="checkRow(this);" runat="server" />
                        </ItemTemplate>
                        <ItemStyle Width="30px" HorizontalAlign="Center" BorderColor="#507CD1" BorderWidth="1px" />
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="姓名">
                        <ItemTemplate>
                            <asp:TextBox ID="txtName" runat="server" Text='<%# Bind("Name") %>' BorderStyle="None"></asp:TextBox>
                        </ItemTemplate>
                        <ItemStyle Width="100px" BorderColor="#507CD1" BorderWidth="1px" />
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="平时成绩">
                        <ItemTemplate>
                            <asp:TextBox ID="txtUsuallyResults" runat="server" Text='<%# Bind("UsuallyResults") %>'
                                BorderStyle="None"></asp:TextBox>
                        </ItemTemplate>
                        <ItemStyle Width="100px" BorderColor="#507CD1" BorderWidth="1px" />
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="考试成绩">
                        <ItemTemplate>
                            <asp:TextBox ID="txtExamResults" runat="server" Text='<%# Bind("ExamResults") %>'
                                BorderStyle="None"></asp:TextBox>
                        </ItemTemplate>
                        <ItemStyle Width="100px" BorderColor="#507CD1" BorderWidth="1px" />
                    </asp:TemplateField>
                </Columns>
                <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
            </asp:GridView>
        </div>
    </form>
</body>
</html>

-----------------------------------

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

namespace WebApplication2
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack) {
                DataTable table = new DataTable();
                table.Columns.Add(new DataColumn("ID"));
                table.Columns.Add(new DataColumn("Name"));
                table.Columns.Add(new DataColumn("UsuallyResults"));
                table.Columns.Add(new DataColumn("ExamResults"));
                DataRow row = table.NewRow();
                table.Rows.Add(row);
                GridView1.DataSource = table; GridView1.DataBind();
            }
        }
        protected void lbtnAddRow_Click(object sender, EventArgs e)
        {
            DataTable table = GetGridViewData();

DataTable table1 = new DataTable();
            table1.Columns.Add(new DataColumn("ID"));
            table1.Columns.Add(new DataColumn("Name"));
            table1.Columns.Add(new DataColumn("UsuallyResults"));
            table1.Columns.Add(new DataColumn("ExamResults"));
            DataRow newRow1 = table1.NewRow();
            newRow1["ID"] = Guid.NewGuid().ToString();
            table1.Rows.Add(newRow1);
           // foreach (DataRow dr in table1.Rows)
           // {
            for(int i=0;i<table.Rows.Count;i++)
            {
                DataRow sourseRow = table1.NewRow();
                sourseRow["ID"] =table.Rows[i]["ID"].ToString();
                sourseRow["Name"] = table.Rows[i]["name"].ToString(); ;
                sourseRow["UsuallyResults"] = "2";
                sourseRow["ExamResults"] ="1";
                table1.Rows.Add(sourseRow);
            }
           // }
            GridView1.DataSource = table1;
            GridView1.DataBind();

}   
        private DataTable GetGridViewData()
        {
            DataTable table = new DataTable();
            table.Columns.Add(new DataColumn("ID"));
            table.Columns.Add(new DataColumn("Name"));
            table.Columns.Add(new DataColumn("UsuallyResults"));
            table.Columns.Add(new DataColumn("ExamResults"));
            foreach (GridViewRow row in GridView1.Rows)
            {
                DataRow sourseRow = table.NewRow();
                sourseRow["ID"] = row.Cells[0].Text;
                sourseRow["Name"] = ((TextBox)row.Cells[3].FindControl("txtName")).Text;
                sourseRow["UsuallyResults"] = ((TextBox)row.Cells[4].FindControl("txtUsuallyResults")).Text;
                sourseRow["ExamResults"] = ((TextBox)row.Cells[5].FindControl("txtExamResults")).Text;
                table.Rows.Add(sourseRow);
            }
            return table;
        }

protected void btnDeleteRow_Click(object sender, EventArgs e)
        {   DataTable table = GetGridViewData();
            foreach (GridViewRow row in GridView1.Rows)
            {
                if (((HtmlInputCheckBox)row.Cells[2].FindControl("chkRow")).Checked)
            { foreach (DataRow dtRow in table.Rows)
            { if (dtRow["ID"].ToString() == row.Cells[0].Text)
            {
                table.Rows.Remove(dtRow);
                break;
            }
            }
                }
            }
            GridView1.DataSource = table; GridView1.DataBind();
        }
    }
}

gridview 第一行编辑的更多相关文章

  1. EasyUI DataGrid 实现单行/多行编辑功能

    要实现 EasyUI DataGrid 的可编辑很简单,在需要编辑的列添加 editor [编辑器]就可以了. 单行编辑 // 初始化数据列表 function initDatagrid() { $( ...

  2. linux编辑文本(vim)时跳转到最后一行和第一行及相关指令

    vi操作 1.跳到文本的最后一行:按“G”,即“shift+g” 2.跳到最后一行的最后一个字符 : 先重复1的操作即按“G”,之后按“$”键,即“shift+4”. 3.跳到第一行的第一个字符:先按 ...

  3. GridView/DataGrid行单击和双击事件实现代码_.Net教程

    功能: 单击选中行,双击打开详细页面 说明:单击事件(onclick)使用了 setTimeout 延迟,根据实际需要修改延迟时间 ;当双击时,通过全局变量 dbl_click 来取消单击事件的响应  ...

  4. DEV express 对Gridview某行的元素赋值

    1:获取选中的行某列的值 string colValue= this.gridView1.GetRowCellValue(this.gridView1.FocusedRowHandle, this.g ...

  5. Jquery easyui开启行编辑模式增删改操作

    Jquery easyui开启行编辑模式增删改操作 Jquery easyui开启行编辑模式增删改操作先上图 Html代码: <table id="dd"> </ ...

  6. [转]Jquery easyui开启行编辑模式增删改操作

    本文转自:http://www.cnblogs.com/nyzhai/archive/2013/05/14/3077152.html Jquery easyui开启行编辑模式增删改操作先上图 Html ...

  7. Linux命令行编辑快捷键

    Linux命令行编辑快捷键: history 显示命令历史列表 ↑(Ctrl+p) 显示上一条命令 ↓(Ctrl+n) 显示下一条命令 !num 执行命令历史列表的第num条命令 !! 执行上一条命令 ...

  8. 历时一年,我的著作《第一行代码——Android》已出版!

    前言 事实上我当初决定開始写博客的想法挺简单的,认为自己搞技术这么多年了,总应该要留下点什么.既然没能写出什么出色的应用,那至少也要留下点文字分享给大家,以指引在我后面的开发人员们,毕竟我也从前辈们的 ...

  9. 20172327 2018-2019-1 《第一行代码Android》第二章学习总结

    学号 2017-2018-2 <第一行代码Android>第二章学习总结 教材学习内容总结 - 活动是什么: 活动(Activity)是最容易吸引用户的地方,它是一种可以包含用户界面的组件 ...

随机推荐

  1. Titanic幸存预测分析(Kaggle)

    分享一篇kaggle入门级案例,泰坦尼克号幸存遇难分析. 参考文章: 技术世界,原文链接 http://www.jasongj.com/ml/classification/ 案例分析内容: 通过训练集 ...

  2. IEC的PLC编程语言标准 IEC61131-3

    IEC的PLC编程语言标准(IEC61131–3) 中有5种编程语言:1)顺序功能图(Sequential function chart) :2)梯形图(Ladder diagram):3)功能块图( ...

  3. 20155226 实验一《Java开发环境的熟悉》实验报告

    20155226 实验一<Java开发环境的熟悉>实验报告 一. 实验内容及步骤 (一)使用JDK编译.运行简单的java程序 命令行下的程序开发 输入cd Code进入Code文件夹里 ...

  4. 2016-2017-2 20155322 实验四 Android 开发基础

    2016-2017-2 20155322 实验四 Android 开发基础 实验内容 下载和安装Android Studio 学会使用Android Studio进行简单的Android开发 实验知识 ...

  5. 20155327《Java程序设计》第二周学习总结

    <Java程序设计>第二学习总结 教材学习内容总结 类型 byte(字节) shot(短整型) int(整型) long(长整型) float(浮点型) double(双精度) char( ...

  6. 记一次SpringBoot使用WebUploader的坑

    问题: B/S通常都会涉及到文件的上传,普通文件上传使用文件框,后台接收文件即可 我遇到的问题是要开发一个大文件上传的功能,那就肯定要支持文件的分片 分析: 1.参考网上的资料后,通常的多文件和大文件 ...

  7. 【LOJ4632】[PKUSC2018]真实排名

    [LOJ4632][PKUSC2018]真实排名 题面 终于有题面啦!!! 题目描述 小 C 是某知名比赛的组织者,该比赛一共有 \(n\) 名选手参加,每个选手的成绩是一个非负整数,定义一个选手的排 ...

  8. 4825: [Hnoi2017]单旋

    4825: [Hnoi2017]单旋 链接 分析: 以后采取更保险的方式写代码!!!81行本来以为不特判也可以,然后就总是比答案大1,甚至出现负数,调啊调啊调啊调~~~ 只会旋转最大值和最小值,以最小 ...

  9. 4540: [Hnoi2016]序列

    4540: [Hnoi2016]序列 https://www.lydsy.com/JudgeOnline/problem.php?id=4540 分析: 莫队+RMQ+单调栈. 考虑加入一个点后,区间 ...

  10. 质造未来,首届腾讯WeTest技术交流开放日成功举办

    WeTest 导读 北京时间12月21日下午1点整,2018年度腾讯WeTest技术交流开放日在上海举办.盛大.巨人.电魂.bilibili.方趣等十余家来自不同优秀企业的测试技术负责人均来到现场,共 ...