小弟问个问题,gridview 中我没有编辑按扭,我想实现这样的功能
当我点击普通button按扭的时候,gridview 能自动处于编辑状态,并且不显示编辑按扭出来
需要怎么做,高手解答
当我点击普通button按扭的时候,gridview 能自动处于编辑状态,并且不显示编辑按扭出来
需要怎么做,高手解答
解决方案 »
- IIS网站访问Report报表的问题
- asp.net socket 客户端接收数据,数据丢失
- .net runtime--错误求高手(困扰我一年了)
- HttpModule 拦截客户端所请求的事件名称或者控件ID
- O(∩_∩)O哈哈~,大家快来看,给我提提意见,
- 关于OWC组件的问题,请高手解决。
- asp.net 母版页load 与 子页load 方法的先后顺序
- asp网页右边上下滚动条怎样控制不显示?
- 现在能从 .aspx 页面中访问 .ascx 中的控件值了,但是反过来呢,有什么办法?
- IIS 7环境下,viewstate获取不到正确的值。
- 高手帮忙。麻烦看下这个东东怎么实现,谢谢~~~~
- firefox他大爷的!
{
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>
{
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;
H_EditRowIndex.Value="";
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>参照前辈的,双击某行,某行自动变成编辑状态.
在RowDataBound的事件中
if (e.Row.RowType == DataControlRowType.DataRow)
{
//实现单击时确发编辑
//e.Row.Attributes.Add("onclick", "OnClickedRow('" + e.Row.RowIndex + "');");
//实现双击时确发编辑
e.Row.Attributes.Add("ondblclick", "OnClickedRow('" + e.Row.RowIndex + "');");
} 调用前台javascript
function OnClickedRow(rowIndex)
{
document.getElementById("H_EditRowIndex").value = rowIndex; //将行索引值放入隐藏的TextBox中
form1.submit();
}
</script> submit后又进入一此Page_load事件中
GridView1.EditIndex = editIndex; //设置GridView双击、单击的某行变为编辑状态
H_EditRowIndex.Value=""; //清空隐藏TextBox中的值,为下一次单击做准备
GridView1.DataSource = BuildGridViewDataSource(); //绑定GridView
GridView1.DataBind();