Gridview进入编辑状态,新手来看。

可能是学习能力有限吧,我从昨晚到今天,累积起来起码五六个小时,才终于弄懂了这个Gridview的编辑。毕竟找来的代码都是没有注释和说明的。

我想记录下来,也希望后来的新丁能少走弯路。

 <form id="form1" runat="server">
    <div class="div1">
        <asp:GridView ID="GridView1" Width="100%" AutoGenerateColumns="False" runat="server" DataKeyNames="Sid"
            OnRowEditing="GridView1_RowEditing" OnRowUpdating="GridView1_RowUpdating"  OnRowCancelingEdit="GridView1_RowCancelingEdit" BackColor="White" BorderColor="#DEDFDE" BorderStyle="None" BorderWidth="1px" CellPadding="4" ForeColor="Black" GridLines="Vertical">
            <AlternatingRowStyle BackColor="White" />
          <Columns>
              <asp:BoundField DataField="Sid" HeaderText="学号"/>
              <asp:BoundField DataField="Sname" HeaderText="姓名" />
              <asp:BoundField DataField="Sage" HeaderText="年龄" />
              <asp:BoundField DataField="Sphone" HeaderText="电话" />
              <asp:BoundField DataField="Spwd" HeaderText="密码" />
              <asp:CommandField ShowDeleteButton="true" HeaderText="操作" />
              <asp:CommandField ShowEditButton="true" HeaderText="操作" />
          </Columns>
            <FooterStyle BackColor="#CCCC99" />
            <HeaderStyle BackColor="#6B696B" Font-Bold="True" ForeColor="White" />
            <PagerStyle BackColor="#F7F7DE" ForeColor="Black" HorizontalAlign="Right" />
            <RowStyle BackColor="#F7F7DE" />
            <SelectedRowStyle BackColor="#CE5D5A" Font-Bold="True" ForeColor="White" />
            <SortedAscendingCellStyle BackColor="#FBFBF2" />
            <SortedAscendingHeaderStyle BackColor="#848384" />
            <SortedDescendingCellStyle BackColor="#EAEAD3" />
            <SortedDescendingHeaderStyle BackColor="#575357" />
        </asp:GridView>
    </div>
    </form>

  

protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                BindData();
            }
        }
        private void BindData()
        {
            string sql = string.Format("select * from Student");
            DataTable dt = SqlHelper.ExctuteDataTable(sql);
            GridView1.DataSource = dt;
            GridView1.GridLines = GridLines.Both;
            GridView1.RowStyle.HorizontalAlign = HorizontalAlign.Center;//单元格文字居中
            GridView1.DataBind();

            GridView1.EditRowStyle.ForeColor = Color.Red;
        }
        protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
        {
            GridView1.EditIndex = e.NewEditIndex;
            BindData();
        }

        protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
            /*先获得所要编辑的行的第0号单元格里的第一个子控件,转成TextBox类型然后取值*/
            int Sid = int.Parse(((TextBox)GridView1.Rows[e.RowIndex].Cells[0].Controls[0]).Text.ToString().Trim());

            /*FindControl里的参数填控件的id,但我们需要先获取这个id,所以不推荐这种用法。*/
            //string Sname = (GridView1.Rows[e.RowIndex].Cells[0].FindControl("Sname") as TextBox).Text;
            string Sname = ((TextBox)GridView1.Rows[e.RowIndex].Cells[1].Controls[0]).Text.ToString().Trim();
            string Sage = ((TextBox)GridView1.Rows[e.RowIndex].Cells[2].Controls[0]).Text.ToString().Trim();
            string Sphone = ((TextBox)GridView1.Rows[e.RowIndex].Cells[3].Controls[0]).Text.ToString().Trim();
            string Spwd = ((TextBox)GridView1.Rows[e.RowIndex].Cells[4].Controls[0]).Text.ToString().Trim();
            string sql = string.Format("update Student set Sid={0},Sname=‘{1}‘,Sage=‘{2}‘,Sphone=‘{3}‘,Spwd=‘{4}‘where Sid={5}",
                Sid, Sname, Sage, Sphone, Spwd, int.Parse(GridView1.DataKeys[e.RowIndex].Value.ToString()));
            SqlHelper.ExecuteNonQuery(sql);
        }

        protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
        {
            GridView1.EditIndex = -1;
            BindData();
        }

  

时间: 2024-11-05 19:32:14

Gridview进入编辑状态,新手来看。的相关文章

ASP.NET(C#) GridView (编辑、删除、更新、取消)

转自:http://my.oschina.net/dldlhrmc/blog/93458 前台代码 view source print? 01 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default5.aspx.cs" Inherits="Default5" %> 02    03  <!DOCTYPE html PUBLIC "

JTable只要一双击就进入编辑状态,禁止的方法实现

我用JTable做了一个表格,表格内容只供查看和选择,可每次只要一双击,就进入编辑状态,可是现在我不需要当双击的时候修改表格的内容.这时候需要重载isCellEditable方法. 下面是我的实现的代码: DefaultTableModel model = new DefaultTableModel(date, columnNames) { public boolean isCellEditable(int row, int column) { return false; } }; 这样设置的话

winform如何实现一个窗体显示后,他的窗体处于不可编辑状态

1)可以使用this.Enabled = false;是窗体处于不可编辑状态. 2)使用showDialog(),showDialog()是一个对话框窗口界面```执行结果以新窗口界面出现```不允许进行后台运行```就是你想编辑什么的时候```非得先关闭showDialog()窗口界面才可以进行其他操作

玩转web之JQuery(二)---改变表单和input的可编辑状态(封装的js)

var FormDeal = { /** * 功能 :将表单的所有input都设为可编辑的 *@param 要操作表单的id */ formWritable: function (formId) { $("#"+formId+" input,textarea").removeAttr("readonly"); $("#"+formId+" input,textarea").css('backgroundCo

easyui 在编辑状态下,动态修改其他列值。

1 首先是自定义了一个方法uodateColumn更新列值 2 3 /** 4 *自定义的修改列值方法 5 */ 6 $.extend($.fn.datagrid.methods, { 7 updateColumn: function(datagrid,data) { 8 datagrid.each(function(){ 9 //获取缓存中的配置数据 10 var gridObj=$.data(this,"datagrid"); 11 var opts=gridObj.options

DevExpress XtraGrid网格控件示例三:获取当前处于编辑状态的值

使用下面的示例代码,以获得当前编辑的值. C# 1 string editingValue; 2 if(gridControl1.KeyboardFocusView.IsEditing) 3 editingValue = gridControl1.KeyboardFocusView.EditingValue.ToString(); DevExpress XtraGrid网格控件示例三:获取当前处于编辑状态的值,布布扣,bubuko.com

编辑crontab -e无法退出编辑状态

在进入crontab -e进入编辑状态时,会提示使用哪一种编辑器. 如果选择使用/bin/nano,那么在编辑完后退出时,应按Ctrl+X,这时会提示是否保存,输入Y,就保存退出啦.

iOS7 iOS8 UITableviewCell处于编辑状态,dismiss或者back崩溃

今天在项目中遇到一个坑爹的 Crash , 在 iOS7 iOS8 UITableviewCell处于编辑状态,dismiss或者back崩溃  iOS9不会 原因:苹果的BUG代码 解决:在视图消失之前把编辑状态设为NO -(void)viewDidDisappear:(BOOL)animated{    [superviewDidDisappear:animated];    self.shoppingBagTableView.editing = NO;  /** ios7 ios8 编辑状

Geodatabase - 判断是否处于编辑状态

Engine中提供IDatasetEdit来判断数据是否处于编辑状态,我们知道,在ArcMap中,进行编辑的不一定都是要素类,也可以是表,网络几何等.以下能在ArcMap中进行编辑的数据都实现了 IDatasetEdit接口: Classes that implement IDatasetEdit Classes Description AttributedRelationshipClass Esri Attributed Relationship Class object. Cadastral