【问题标题】:Display DataTable data in Seperate GridViews C# Asp.Net在单独的 GridView C# Asp.Net 中显示 DataTable 数据
【发布时间】:2018-05-09 05:36:59
【问题描述】:

我有一个带有 GridViews 的 aspx 页面。我正在使用 gridview 来充当问卷。在 GridView 中,有 4 列(名称、公司、问题、答案)和 5 行带有文本框。在你输入名字的标题上有一个TextBox,所以总共有6个TextBox。保存后,表格如下:

name1 | company1 | question1 | answer1
name1 | company1 | question2 | answer2
name1 | company1 | question3 | answer3
name1 | company1 | question4 | answer4
name1 | company1 | question5 | answer5

name2 | company1 | question1 | answer1
name2 | company1 | question2 | answer2
name2 | company1 | question3 | answer3
name2 | company1 | question4 | answer4
name2 | company1 | question5 | answer5

等等。现在我的问题是,保存在数据库中后,我不知道如何在单独的网格视图上显示它们。假设我想显示来自 company1 的所有记录,name1 的记录应显示在网格视图中,name2 的记录应显示在单独的网格视图中。我的搜索功能需要这个。我该怎么做?

【问题讨论】:

  • 请使用不同的DataView对象根据不同的条件(公司)过滤您的Datatable,然后您可以将它们绑定到不同的GridViews。
  • 您可以为每个 GridView 使用单独的数据表,每个数据表根据您选择的条件过滤 SQL。
  • @GaganDeep 谢谢你的想法,你能以某种方式写一个示例代码吗?或者一些我可以看到一些样本的链接?我以前没试过,所以我现在正在搜索DataView。
  • @AsafEpelbaum 嗯,这实际上是我的问题。我不知道如何在我的情况下使用单独的数据表。
  • @PauGacusan 我建议创建几个单独的 SQL 语句,每个语句根据您的需要获取另一块数据。 GangaDeep 建议您一次从数据库中获取所有数据,然后根据您的需要过滤 GridViews。不同的实现结果是一样的,各有优缺点

标签: c# asp.net sql-server


【解决方案1】:

请看这个..

DataView dv = datatablename.DefaultView;
//get unique companies
DataTable distinctcompanynames = dv.ToTable(true,"companycolumnname");

foreach (DataRow dr in distinctgrouptype.Rows)
    {

        dv.RowFilter = "itemgrouptype='"+dr[0].ToString()+"'";
        //get different DataViews
        DataView singltable = dv.ToTable().DefaultView;  
        //here you can bind          
    }

【讨论】:

  • 谢谢,我先试试。稍后会留下反馈/评论。
  • 什么是 distinctgrouptype?
  • 这是我要过滤数据的列名
  • distinctcompanynames 与 distinctgrouptype 不同吗?
  • 是的。 Distinctcompanynames 包含不同的公司。查看我使用的 ToTable 方法的区别。
猜你喜欢
  • 2023-03-22
  • 2013-12-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-18
  • 2015-09-17
  • 1970-01-01
  • 2013-04-27
相关资源
最近更新 更多