ASP.NET GridView编辑功能,调整列宽,文本框只读,更新提示

                    onselectedindexchanging="gvRework_SelectedIndexChanging" 
                    onrowcancelingedit="gvRework_RowCancelingEdit" 
                    onrowupdating="gvRework_RowUpdating" 
                    onrowdatabound="gvRework_RowDataBound" >
                   
                   
                   
                   
                   
                   
                   
 


    protected void gvRework_RowEditing(object sender, GridViewEditEventArgs e)
    {
        gvRework.EditIndex = e.NewEditIndex;
        fillGridView();  //查询数据自己写
        //Response.Write("");
    }

    protected void gvRework_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
    {
        gvRework.EditIndex = -1;
        fillGridView();
    }

    protected void gvRework_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        string sSerNum = "";
        string sReason = "";
        string sAction = "";
        string sRowNum = "";
        GridViewRow gvr = gvRework.HeaderRow;
        TextBox tb = new TextBox();
        for (int i = 1; i < gvr.Cells.Count; i++)
        {
            tb = (TextBox)gvRework.Rows[e.RowIndex].Cells[i].Controls[0];
            if (string.Compare(gvr.Cells[i].Text, "SERIALNUMBER") == 0)
            {
                sSerNum = tb.Text;
                //Response.Write("");
            }
            //Response.Write("");
            if (string.Compare(gvr.Cells[i].Text, "OOS_REASON") == 0)
            {
                sReason = tb.Text;
            }
            if (string.Compare(gvr.Cells[i].Text, "OOS_ACTION") == 0)
            {
                sAction = tb.Text;
            }
            if (string.Compare(gvr.Cells[i].Text, "ROWNUM") == 0)
            {
                sRowNum = tb.Text;
            }
        }
        updateSpcData(sSerNum, sReason, sAction);  //更新数据
        //Response.Write(""); 
        gvRework.EditIndex = -1;
        fillGridView();
    }

    protected void gvRework_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        //调整编辑状态下文本框宽度和将文本框禁用设置只读
        if (e.Row.RowState == (DataControlRowState.Edit | DataControlRowState.Alternate) 
            || e.Row.RowState == DataControlRowState.Edit)
        {
            GridViewRow gvr = gvRework.HeaderRow;
            TextBox tb;
            for (int i = 1; i < gvr.Cells.Count; i++)
            {
                tb = (TextBox)e.Row.Cells[i].Controls[0];
                //tb.TextMode = TextBoxMode.MultiLine;
                //tb.Width = Unit.Pixel(60);
                //tb.Height = Unit.Pixel(100);
                tb.Attributes.Add("style", "width:100%;overflow:visible"); //自适应列宽
                //设置指定列的文本框为只读
                if (string.Compare(gvr.Cells[i].Text, "oos_reason", true) == 0 ||
                    string.Compare(gvr.Cells[i].Text, "oos_action", true) == 0)
                {
                    continue;
                }
                tb.Enabled = false;
                e.Row.Cells[i].Enabled = false;//通过禁用GridView单元格,将文本框设置只读 方法二
            }

            LinkButton lb = new LinkButton();
            lb = (LinkButton)e.Row.Cells[0].Controls[0];
            lb.Attributes.Add("OnClick", "return confirm('是否保存异常信息?')");
        }
            
        //if (e.Row.RowType == DataControlRowType.DataRow)
        //{
        //    GridViewRow gvr = gvRework.HeaderRow;
        //    for (int i = 1; i < gvr.Cells.Count; i++)
        //    {
        //        if (string.Compare(gvr.Cells[i].Text, "oos_reason", true) == 0)
        //        {
        //            continue;
        //        }
        //    }
        //}
    }

 

你可能感兴趣的:(ASP.NET)