您的位置:首页 > 其它

gridView单行编辑功能的实现

2013-09-26 17:14 260 查看
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
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: