【发布时间】:2015-06-30 13:20:45
【问题描述】:
我正在用 C# 制作一个简单的 Web 应用程序。我正在处理的网站包含一个 GridView。 GridView 显示来自 Oracle SQL 数据表的数据。
现在我想为我的表设置过滤选项。但我想让切换列变得非常容易,并且我想让过滤和排序每一列成为可能。
我已经制作了一个可以立即过滤特定列的 TextBox。但我想让用户选择列。我的想法是让用户选择一列,然后他只需将他的标准写入文本框。
我目前的主要问题是弄清楚如何让用户能够选择一列并获取其索引/标题文本。
例如:如果用户想要过滤/排序列并以某种方式选择它,我想获取索引/标题文本。
我是 asp.net 的新手,我真的不知道如何实现这一点。我已经进行了很多搜索以找到任何解决方案,但是关于此的内容并不多。
我将它用于我的过滤方法(有效):
dt = GridView1.DataSource as DataTable;
dt.DefaultView.RowFilter = string.Format("Name LIKE '%{0}%'", textBox1.Text);
GridView1.DataSource = dt;
GridView1.DataBind();
【问题讨论】:
-
如果用户可以选择多个列进行排序,那么如何定义排序顺序?你总是先按最低索引排序吗?哪个先被选中?
-
@sr28 这些都是好点,但实际上这对我来说不是很重要,因为我以后可以自己解决这个问题。我的主要问题是获取用户希望过滤/排序的列的索引。目前我不知道如何实现它。
-
如果要按多列排序,这一点很重要。允许用户对 1 列进行过滤或排序的设计很可能与允许某人在多列上进行过滤的设计不同。