是否有人建议允许用户选择哪些列出现在数据网格中的最佳方式?我希望他们能够设置它。它将与用户一起存储在配置文件中,并在每次用户加载网格时加载。我正在考虑ASP.NET个性化的东西。
答案 0 :(得分:1)
这里有几种选择。
在每个列的标题中添加一个“X”图像,并使用javascript onclick事件执行Web方法调用,从用户的要加载的列的配置文件中删除该列。
有一个自定义弹出页面,其中包含所有列的复选框列表,用户可以添加或删除网格中的列。
还有一些,但它们更少AJAX和更多页面重新加载。
答案 1 :(得分:0)
我倾向于为此设置一个弹出窗口或窗口,仅显示未选择的字段,每个标题上都有一个删除工具。很抱歉,如果这对Avitus的想法没有太大的影响,不过我建议混合使用2个建议的想法,即弹出列表只包含未选择的列(如Outlook中所说)。该列表必须建立在每个弹出窗口或每次删除/添加时。
此外,我建议用户只根据请求存储他们的选择,以便在下次提交之前允许实验列选择,并最大限度地减少存储访问。
答案 2 :(得分:0)
您需要将此信息存储在数据库中。在管理页面上,您可以指定列名称,并有一个“显示?[]”复选框。当他们检查时,显示,如果没有,则不显示。在ASPX页面上,绑定网格时,将列拉出数据库并遍历DataTable类中的columns属性并检查列的名称。如果它是好的,那么显示它,如果没有,那么就不要。
有一百种方法可以实现,真的,选择取决于你。
答案 3 :(得分:0)
我的建议是将这些信息存储在每个用户的数据库中。如果他们没有首选项,则显示所有列,如果他们选择列,则存储该信息,以便每次访问时他们只能看到他们想要看到的内容。
要实现此目的,请遍历可用列(字段名称)并将其动态添加到数据网格中。您希望在列表框控件或类似控件中执行相同的操作,以便用户可以指定他们想要查看的内容。当他们添加他们想要的列时,您只需显示那些列即可重建网格。每次他们在列表框中添加或删除列时,都会将其首选项保存到数据库中。