【问题标题】:How to retrieve list of dates that is partially stored in the database and bind it in gridview in c#如何检索部分存储在数据库中的日期列表并将其绑定到c#的gridview中
【发布时间】:2018-03-21 09:36:27
【问题描述】:

我想在网格视图中动态显示日期列表。日期应逐行并从数据库中检索。

以下是数据库中的数据示例:

DSB_Date   GloveID    DSB_BalQty  DSB_Sizes
3/7/2017    ABC123     100          M
3/7/2017    ABC123     200          XL
7/7/2017    ABC123     150          L
7/7/2017    ABC123     780          M

如您所见,从 7 月 4 日到 7 月 6 日没有记录。 但我仍然希望它们出现在网格视图中。我想要以下类型的输出:

GloveID : ABC123
Date          M     L    XL
3/7/2017     100    0   200     
4/7/2017      0     0    0    
5/7/2017      0     0    0
6/7/2017      0     0    0
7/7/2017     780   150   0

它应该列出各个月份的整个日期。我没有使用任何下拉列表来填充数据。

显示网格视图的记录是通过 Glove ID 从另一个页面检索的。假设从页面 A,点击超链接,URL 将传递 Glove ID 并重定向到列出所有信息的页面 B。

下面是我用来显示大小和数量的 SQL 查询

 select DSB.GloveID, G.GloveCode, DSB_Month, DSB_Year, DSB_Date, 

      max(case when DSB_Sizes = 'M' then DSB_BalQty else 0 end) M,
      max(case when DSB_Sizes = 'L' then DSB_BalQty else 0 end) L,
      max(case when DSB_Sizes = 'XL' then DSB_BalQty else 0 end) XL     

  from tblDailyStockBal DSB

    left join tblGlove G on G.GloveID = DSB.GloveID

    where DSB.GloveID = @GloveID 
    group by DSB.GloveID, G.GloveCode, DSB_Month, DSB_Year, DSB_Date

如何在 C# 中实现 date 的内容?
我已经尝试过接近但仍然没有得到我想要的。

  1. How to create a Gridview that has number of days as column based on month selection

  2. display dates row wish of select month in gridview using asp.net

【问题讨论】:

  • 您需要提供有关您的代码的更多详细信息,如何从 mysql 中检索 c# 中的数据?
  • 现在,我刚刚使用 Gridview DataBind 示例检索了整个数据:GridView1.DataSource = mtsc.SelectAllByGloveID(gloveID); GridView1.DataBind();我完全不知道如何列出日期并再次绑定。
  • 我建议使用中继器,并在项目模板内部使用网格视图以该格式显示数据
  • 你的意思是使用中继器控制?我可以使用 Datetime 来检索 date 信息吗?我正在考虑从数据库中获取一个月,然后使用 datetime 获取该月的总天数并列出所有日期。它是如何工作的?
  • 是的,我认为您需要使用两个查询,第一个检索日期列表,第二个检索每个日期的详细信息或只进行一次查询,然后从 c# 端创建分组数据(每个日期有细节)

标签: c# mysql date gridview listitem


【解决方案1】:

你必须使用两个日期字符串来检查两个字符串之间的数据是否可用,

SqlCommand cmd = new SqlCommand("SELECT * (or column name,column name)FROM dbo.name where Date between '" + @date1+ "' and '" +@date2 + "' order by Date desc", connection);
                SqlDataAdapter sd1 = new SqlDataAdapter();
                sd1.SelectCommand = cmd;
                DataSet dst1 = new DataSet();
                sd1.Fill(dst1, "table name");


               yourgridview.DataSource = dst1.Tables[0];

这是基本的想法,我希望你明白逻辑,并使用适当的安全连接,,,

【讨论】:

  • 好的,我有点明白了。但我正在考虑如何列出所有日期。例如 7 月有 31 天。如何让系统列出所有日期?并将其与网格视图绑定?
  • 向用户提供日期选择器,以便他可以选择日期并使用这些日期进行搜索,我希望这是你想要的,如果不提供一些你想要或期望从你的应用程序中得到的信息,,,跨度>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-04
  • 2020-04-08
  • 2013-09-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多