您的位置:首页 > 其它

GridView实现双击进行编辑,更新

2011-01-07 13:33 417 查看
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GridView1.DataSource = BuildGridViewDataSource();
GridView1.DataBind();
}

SetGridViewEditRow();
}

private void SetGridViewEditRow()
{
if (H_EditRowIndex.Value != "")
{
int editIndex = Convert.ToInt32(H_EditRowIndex.Value);
GridView1.EditIndex = editIndex;
GridView1.DataSource = BuildGridViewDataSource();
GridView1.DataBind();
}

}

/// <summary>
/// 用来做例子中的数据源
/// </summary>
/// <returns></returns>
private DataTable BuildGridViewDataSource()
{
DataTable dt = new DataTable();
dt.Columns.Add("Number");
dt.Columns.Add("Name");

DataRow dr = dt.NewRow();
dr["Number"] = "1000";
dr["Name"] = "张三";
dt.Rows.Add(dr);

dr = dt.NewRow();
dr["Number"] = "1001";
dr["Name"] = "李四";
dt.Rows.Add(dr);

return dt;
}

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
//实现单击时确发编辑
//e.Row.Attributes.Add("onclick", "OnClickedRow('" + e.Row.RowIndex + "');");
//实现双击时确发编辑
e.Row.Attributes.Add("ondblclick", "OnClickedRow('" + e.Row.RowIndex + "');");
}
}
}

HTML code<body>
<form id="form1" runat="server">
<div>
<asp:GridView Width="500" ID="GridView1" runat="server" AutoGenerateColumns="False"
OnRowDataBound="GridView1_RowDataBound">
<Columns>
<asp:BoundField DataField="Number" HeaderText="编号" />
<asp:BoundField DataField="Name" HeaderText="姓名" />
</Columns>
</asp:GridView>
<input id="H_EditRowIndex" type="hidden" runat="server" />
</div>
</form>
</body>
</html>

JScript code <script type="text/javascript">
function OnClickedRow(rowIndex)
{
document.getElementById("H_EditRowIndex").value = rowIndex;
form1.submit();
}
</script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: