ASP.NET 重写GridView 添加双击行改变行的状态 ASP.NET 重写GridView 添加双击行改变行的状态,当双击行的时候将行的状态改变成为Edit 在GridView里面不能有修改CommandField那位老大帮忙解决下,问题很急 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个控件重写也不是很明白:尤其是这个GridView,确实麻烦;有一点点思路供讨论;注册行的双击事件处理脚本,脚本中用edit等字符串作为参数回传;如:__dopostback('edit');肯定不止这一个参数,会有很多的,如排序列页码等等;回传到服务器后,获取并判断参数,引发对应的编辑事件。想完全按照自己的方式来用这个控件,一定要好好看看Gridview的控件开发 http://www.xieker.com/txt/37104.htm,这里都实现了 路径是否严格一致ConnString = "Provider=Microsoft.Jet.Oledb.4.0; Data Source=" + filepath + "; Extended Properties=\"Excel 8.0; HDR=No; IMEX=1;\""; string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FileName + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'"; using(OleDbConnection conn = new OleDbConnection(strConn)) { conn.Open(); OleDbDataAdapter oleDbDataAdapter = null; DataSet ds = new DataSet(); string s= "select * from [sheet1$]"; oleDbDataAdapter = new OleDbDataAdapter(s, conn); oleDbDataAdapter.Fill(ds); conn.Close(); } 看错了gridview双击编辑http://topic.csdn.net/u/20090828/14/032e32d3-a37b-4436-a48c-961bb4a53e85.html 首先,声明你的GridView所在的控件既有处理回发的接口功能,例如public partial class TestPage : XVPage, IPostBackEventHandler{.....}对于ascx或者master page也是一样的。然后需要让GridView能够从浏览器回发,需要写protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e){ if (e.Row.RowType == DataControlRowType.DataRow) e.Row.Attributes["ondblclick"] = this.Page.ClientScript.GetPostBackEventReference(this, "双击:" + e.Row.RowIndex.ToString());}最后一步,就是必须实现接口IPostBackEventHandler的要求,处理回发之后该处理的事,例如public void RaisePostBackEvent(string eventArgument){ if (eventArgument.StartsWith("双击:")) { var rowIndex = int.Parse(eventArgument.Substring(3)); this.GridView1.EditIndex = rowIndex; //如果你使用数据源控件配合GridView,就不必画蛇添足去手动写代码重新绑定数据 }} public partial class TestPage : Page, IPostBackEventHandler{.......}我顺手写成了XVPage。如果你想使用它,可以参考:http://topic.csdn.net/u/20100606/23/ba5ecf4f-7e1a-4b80-8012-154da1f902eb.html 对于这类问题,只要记住 IPostBackEventHandler 接口就“上路”了。你只要问问程序员会不会使用这个接口,就知道能否比较准确地设计回发处理类型的程序。 Forms验证 帮帮忙,卡住了。 ASP.NET MVC控制器和视图问题(在线等,谢了。) 相关新闻实现方法 奉100分以谢高手,表达敬意 在MasterPage中Treeview无法打开sitemap中的相关url网页 如何将.aspx页面转化成静态页 DotNet调试错误:试图运行项目时出错: 无法在 web 服务器上启动调试.访问被拒绝 200分请教一个导入excel的问题 为什么我的超链接在缺少了参数? 随机数(好像很难哦) ssl加密问题 res://C:\WINDOWS\system32\shdoclc.dll/dnserror.htm#
ConnString = "Provider=Microsoft.Jet.Oledb.4.0; Data Source=" + filepath + "; Extended Properties=\"Excel 8.0; HDR=No; IMEX=1;\""; string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FileName + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'";
using(OleDbConnection conn = new OleDbConnection(strConn))
{
conn.Open();
OleDbDataAdapter oleDbDataAdapter = null;
DataSet ds = new DataSet();
string s= "select * from [sheet1$]";
oleDbDataAdapter = new OleDbDataAdapter(s, conn);
oleDbDataAdapter.Fill(ds);
conn.Close();
}
gridview双击编辑
http://topic.csdn.net/u/20090828/14/032e32d3-a37b-4436-a48c-961bb4a53e85.html
{
.....
}
对于ascx或者master page也是一样的。然后需要让GridView能够从浏览器回发,需要写protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
e.Row.Attributes["ondblclick"] = this.Page.ClientScript.GetPostBackEventReference(this, "双击:" + e.Row.RowIndex.ToString());
}最后一步,就是必须实现接口IPostBackEventHandler的要求,处理回发之后该处理的事,例如public void RaisePostBackEvent(string eventArgument)
{
if (eventArgument.StartsWith("双击:"))
{
var rowIndex = int.Parse(eventArgument.Substring(3));
this.GridView1.EditIndex = rowIndex;
//如果你使用数据源控件配合GridView,就不必画蛇添足去手动写代码重新绑定数据
}
}
{
.......
}
我顺手写成了XVPage。如果你想使用它,可以参考:http://topic.csdn.net/u/20100606/23/ba5ecf4f-7e1a-4b80-8012-154da1f902eb.html