gridView單行編輯功能的實現

HTML:

<asp:GridView ID="gvList" runat="server" AutoGenerateColumns="false" CssClass="grid" 
     DataKeyNames="ID" EmptyDataText="暫無記錄!" onrowediting="gvList_RowEditing" 
     onrowupdating="gvList_RowUpdating"  onrowcancelingedit="gvList_RowCancelingEdit" >
     <Columns>
          <asp:BoundField HeaderText="ID" ItemStyle-Width="20" DataField="ID"  Visible="false"  ItemStyle-HorizontalAlign="Center" ReadOnly="true"/>
          <asp:BoundField HeaderText="組織編號" DataField="DeptNo" ItemStyle-Width="20%"  ItemStyle-HorizontalAlign="center" ReadOnly="true"/>
          <asp:BoundField HeaderText="組織全稱" DataField="DeptName"   ItemStyle-Width="30%" ItemStyle-HorizontalAlign="Center" ReadOnly="true"/>
          <asp:TemplateField HeaderText="組織簡稱">
              <ItemTemplate>
                  <%#Eval("ShowName") %>
              </ItemTemplate>
              <ItemStyle HorizontalAlign="Center" Width="30%" />
                 <EditItemTemplate>
                    <asp:TextBox ID="tbShowName" Text='<%#Eval("ShowName") %>' runat="server" Width="100%"/>
                 </EditItemTemplate>
              </asp:TemplateField>
                  
           <asp:CommandField ShowEditButton="true" HeaderText="操作" EditText="編輯" UpdateText="更新" CancelText="取消"  ItemStyle-HorizontalAlign="Center"/>
    </Columns>
    <EditRowStyle BackColor="#999999" />
</asp:GridView>


ReadOnly="true"用於標示不需要編輯的列。

 

 

CS:

public partial class DeptShortNameList : System.Web.UI.Page
    {
        private BLL.Dept_ShortName deptShortNameBll = new BLL.Dept_ShortName();

        #region 事件
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                LoadData();
            }
        }

        protected void gvList_RowEditing(object sender, GridViewEditEventArgs e)
        {
            gvList.EditIndex = e.NewEditIndex;//需要編輯行的索引號
            LoadData();
        }

        protected void gvList_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
        {
            gvList.EditIndex = -1;
            LoadData();
        }

        protected void gvList_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
            int id = Convert.ToInt32(gvList.DataKeys[e.RowIndex].Values[0]);//獲取當前的數據的鍵值ID
            string showName=((TextBox)gvList.Rows[e.RowIndex].FindControl("tbShowName")).Text;//獲取TextBox值

            Model.Dept_ShortName deptShortNameModel = deptShortNameBll.GetModel(id);

            deptShortNameModel.ShowName = showName;//更新實體
            if(deptShortNameBll.Update(deptShortNameModel)>0)
            {
                Kit.Alert(this,"修改成功!");
                gvList.EditIndex = -1;
                LoadData();
            }
            else
            {
                Kit.Alert(this,"修改失敗!");
            }
        }
        #endregion

        #region 自定義方法
        private void LoadData()
        {
            
            DataSet ds=deptShortNameBll.Select("IsDel=0","DeptName");
            gvList.DataSource = ds.Tables[0];
            gvList.DataBind();
        }

        #endregion
    }


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章