可以考虑一下datatable的插件,绝对比你的那个gridview好很多。
解决方案 »
- 我承认我是一个正则文盲= = 求解释
- 各位帮看下这个无刷新问题为什么不行?
- 请大家推荐几本asp.net的入门书,谢谢
- 小女子请教一个问题:
- 鼠标经过自动跟随详细信息的页面如何做的
- 大家帮我看看这个数据库访问类有什么问题?为什么我在实际操作access的时候开始几次没有问题,但多操作几次会造成“文件已在使用中”的错
- 新建不了ASP应用程序,提示"404错误,..\WWWROOT与URL:\\..\WebProject1不在同一文件夹",IIS设置了几十遍,重装了两个,还是不行..郁闷
- 数据库连接问题
- 请求因 HTTP 状态 401 失败:Access Denied。
- WebAp2 部署后出现未能加载文件或程序集错误
- 如何将HTML代码中的input name和id改成不同
- 关于VS2010一些快捷键失灵的纠结..
统一设定需要的操作
GridView中单击选中一行
1.在<% @Page ...... %>指令中添加 EnableEventValidation="false"
2. Protected void GridView1_RowDataBound (object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow && e.Row !=null)
{
e.Row.Attributes.Add ("onClick", "javascript: __doPostBack ('" + GridView1+ "','Select$" + e.Row.RowIndex + "') ;");
//这是双击,进入编辑模式
e.Row.Attributes["ondblclick"] = ClientScript.GetPostBackEventReference(GridView1, "Edit$" + e.Row.RowIndex.ToString(), true);
}
}
双击自己在看一下,
using System;
using System.Web.UI.WebControls;public partial class GridViewSortBehavior : System.Web.UI.UserControl
{
public string TargetID { get; set; } protected void Page_Load(object sender, EventArgs e)
{
var gr = (GridView)this.FindControl(TargetID);
gr.Sorting += new GridViewSortEventHandler(gr_Sorting);
} void gr_Sorting(object sender, GridViewSortEventArgs e)
{
if (this.Sorting != null)
this.Sorting(sender, e);
} public event EventHandler<GridViewSortEventArgs> Sorting;}
然后你可以在需要扩展GridView的时候(此时你无法打破它原来的设计架构,只是想以事件方式扩展而已),可以拖一个这个用户控件到它旁边,然后设置此用户控件实例的TargteID属性为这个GridView的ID。然后你就可以注册这个用户控件的Sorting事件(可以获得sender-GridView和GridViewSortEventArgs参数)来处理扩展功能。这样就把向GridView控件注入一个Sorting事件处理程序这一行代码用一个用户控件给代理了。你可能觉得这不是更加复杂了嘛?!原本用手写一行代码处理Sorting的事情,现在要先拖一个用户控件上去,然后设置属性,然后在手写一行代码来来处理Sorting。其实这是一个很小的架构,你可以把你要复用的代码封装在这类Behavior控件中,而仅仅设置TragetID属性就自动注册一堆复杂的行为代码了。你还可以为这个控件多添加几个属性,来决定像GridView注入代码的行为执行中的分支条件。不管怎样,当你不能或者不想重新继承GridView而开发新的GridView的时候,可以用鼠标拖一个自己写好的行为控件然后设置一下TargetID也可以自动为其注入新的行为代码。
或者写一个类,类里面有static gridview1,第一个页面赋好值以后,其他的页面直接用就行。
或者用session将gridview1。datasource传过去