【问题标题】:How can I use a Button control instead of LinkButton for gridview sorting in ASP.Net如何在 ASP.Net 中使用 Button 控件而不是 LinkBut​​ton 进行 gridview 排序
【发布时间】:2010-01-12 02:16:27
【问题描述】:

我目前正在使用 ASP.Net gridview 控件,当在列上定义排序表达式时,列标题将呈现为链接按钮。我想知道是否可以将该 LinkBut​​ton 转换为 Button 控件并保留所有功能。我不能使用 TemplateColumns,因为我使用 DataControlField 实现来创建列并将它们添加到网格中。

非常感谢。

【问题讨论】:

    标签: asp.net gridview sorting


    【解决方案1】:

    我认为这是不可能的。

    最好的办法是使用 CSS 来设置按钮的样式。显然它看起来不像默认的 UI 按钮,但是这个网站不使用默认的 UI 按钮。

    【讨论】:

    • 感谢您的回复。我需要的不仅仅是风格。事实上,如果我能做到这一点,我想将我的按钮设置为 LinkBut​​tons。我的问题是我想根据用户在单击列标题时是否使用 ctrl 键来实现多排序,但 Firefox 尝试在一个新窗口,而不是认识到它是一个 js 方法。所以我在想,如果我可以将 LinkBut​​tons 转换为 Buttons 或以某种方式禁用 Firefox ctrl + click,我可以实现此功能。
    • 另外,请看这个问题:stackoverflow.com/questions/2046339/…
    • 其他选项是将每次点击存储到最后一个排序顺序并以这种方式创建多重排序。如果您可以将表格包装在 ajaxpanel 中,那将特别有效。除此之外,您当然可以在页面上创建另一个控件来负责对表格进行排序。
    • 再次感谢乔尔的回复。不幸的是,您建议(将新排序添加到现有排序)已经是当前行为,用户希望能够通过使用 Ctrl 单击轻松地在“单排序”和“多排序”选项之间切换。创建自定义控件以进行表格排序的另一个选项听起来很有趣。我在想一个弹出窗口,您可以在其中检查列和排序顺序,然后点击应用来设置排序。唯一的问题是我们完成这项任务的工作量和时间可能太多了。
    • 不应该那么不同。相同的逻辑,只是将其连接到不同的事件中。我不知道你如何将数据连接到 gridview,但是如果你首先将数据转换为 dataview 排序数据变得微不足道,所以转到 dataview,从新控件排序然后重新绑定到 gridview。
    猜你喜欢
    • 2012-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-19
    • 2012-10-31
    • 2023-03-12
    • 2012-10-19
    • 1970-01-01
    相关资源
    最近更新 更多