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
}