GridView里面有动态添加的模板列,排序用不了 本帖最后由 Jonly 于 2009-06-09 15:44:43 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果你要点击排序,你可能要在HeaderTemplate 添加button,并且为这个button添加事件如果你要用Sorting事件,那么你要设定这个Buttion的CommandName设为系统与之相关的命令,具体查一下msdn.好像就是叫什么Sort,我现在只记得删除叫delete这样就直接由冒泡事件去管理了.你直接添加事件既可 谢谢1楼的,我是想用到Sorting事件,我加了一个 Buttion 并 CommandName 设为“Sort”, 这样可以触发GridView1_Sorting事件了;但 GridView1_Sorting事件里的 string sortExpression = e.SortExpression; 得不到值! 自定义的模板列的自己去实现,数据绑定也要自己来做。<HeaderTemplate> <asp:Button ID="Button1" CommandName="sort" CommandArgument="Name" runat="server"/></HeaderTemplate>CommandArgument 就是排序的SortExpression 嗯.呵呵,你这个肯定不能用它的方法了.不过你可以试着去了解一下它的原理.如果你要重写你工作量估计够大,光按钮就几种类型 ,什么linkbutton,button之类的既然你是自定义,个人建议你还是自定义一个事件毕竟你这个是一个伪Sort,系统不会自动为你的方法去构造事件你再用一个ViewState把你的存起来好了代码如下面就差不多了protected void GridView1_Sorting(object sender, GridViewSortEventArgs e) { int asc = 0; if (ViewState["my_sort"] != null) { asc = (int)ViewState["my_sort"]; } //取反 asc = asc == 0 ? 1 : 0; //排序 asc == 0 ? SortGridView(sortExpression, "DESC") : SortGridView(sortExpression, "ASC"); ViewState["my_sort"] = asc;} 另外,你应该为每一个列定义一个不同的ViewState的key值.... 4楼说的不错,可以试一下commandargument 谢谢 zyug多列同时排序的话可能就要 不同的ViewState的key值了 =======我只过滤单引号,你还有什么办法注入???======= equals 与 == 区别? 一个非常奇怪的问题 ????????查询数据库返回??????? page页面失效为什么??? 继续问 简单问题 datalist排列显示问题? 怎么在SQLSERVER中把'当字符插入啊 删除前提示确认,按扭怎么写代码? 提问:如何重写基类中的onclick事件? 下载了整合DNT论坛的web service文件,这要怎么用? 新手提问:DetailsView如何绑定数据源
添加button,并且为这个button添加事件如果你要用Sorting事件,
那么你要设定这个Buttion的CommandName设为系统与之相关的命令,具体查一下msdn.好像就是叫什么Sort,我现在只记得删除叫delete
这样就直接由冒泡事件去管理了.你直接添加事件既可
我加了一个 Buttion 并 CommandName 设为“Sort”, 这样可以触发GridView1_Sorting事件了;
但 GridView1_Sorting事件里的 string sortExpression = e.SortExpression; 得不到值!
<HeaderTemplate>
<asp:Button ID="Button1" CommandName="sort" CommandArgument="Name" runat="server"/>
</HeaderTemplate>CommandArgument 就是排序的SortExpression
不过你可以试着去了解一下它的原理
.
如果你要重写你工作量估计够大,光按钮就几种类型 ,什么linkbutton,button之类的既然你是自定义,个人建议你还是自定义一个事件毕竟你这个是一个伪Sort,系统不会自动为你的方法去构造事件
你再用一个ViewState把你的存起来好了代码如下面就差不多了protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
{
int asc = 0;
if (ViewState["my_sort"] != null)
{
asc = (int)ViewState["my_sort"];
}
//取反
asc = asc == 0 ? 1 : 0;
//排序
asc == 0 ? SortGridView(sortExpression, "DESC") : SortGridView(sortExpression, "ASC");
ViewState["my_sort"] = asc;
}