2017-10-10 4 views
0

Je souhaite afficher dynamiquement la liste des dates dans la vue grille. Les dates doivent être rangée par rangée et extraites de la base de données.Comment extraire la liste des dates partiellement stockées dans la base de données et les lier dans gridview dans C#

Voici l'exemple des données de base de données:

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 

Comme vous pouvez le voir, il n'y a pas de records du 4 Juillet au 6 Juillet. Mais je veux toujours qu'ils soient dans la grille. Je veux avoir ci-dessous type de sortie:

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 

il devrait être énumérant la date complète pour le mois respectif. Je n'utilise aucune liste déroulante pour remplir les données.

L'enregistrement qui affichait la vue de grille est récupéré à partir d'une autre page par ID de gant. Disons à partir de la page A, cliquez sur le lien hypertexte et l'URL transmettra l'identifiant du gant et redirigera vers la page B qui liste toutes les informations.

Voici la requête SQL que j'ai utilisé pour afficher la taille et de la quantité

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 

Comment puis-je réalisé que Date choses en C#?
J'ai essayé ci-dessous approché mais toujours pas obtenir ce que je souhaite.

  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

+0

Vous devez fournir plus de détails sur votre code, comment extraire les données dans C# de mysql? –

+0

Pour l'instant, je viens de récupérer toutes les données en utilisant Gridview DataBind Exemple: GridView1.DataSource = mtsc.SelectAllByGloveID (gloveID); GridView1.DataBind(); Je n'ai aucune idée du tout comment lister la date et la lier à nouveau. –

+0

Je recommande d'utiliser un répéteur et à l'intérieur du modèle d'élément, utilisez une grille pour afficher les données dans ce format. –

Répondre

0

vous devez utiliser deux chaîne de date pour vérifier des données disponibles ou non entre deux cordes comme,

SqlCommand cmd = new SqlCommand("SELECT * (or column name,column name)FROM dbo.name where Date between '" + @date1+ "' and '" [email protected] + "' 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]; 

c'est de base idée pour cela, j'espère que vous obtenez la logique, et utilisez une connexion sécurisée appropriée s well ,,,

+0

Okay d'obtenir les idées là-bas. Mais je pense à la façon de lister toutes les ** dates **. Par exemple, Juillet a eu 31 jours. Comment faire pour que le système liste toutes les dates? et lier avec la vue de la grille? –

+0

fournir datepicker à l'utilisateur afin qu'il puisse sélectionner la date et la recherche en utilisant ces date, j'espère que ceci ce que vous voulez, sinon fournir quelques informations que vous voulez ou attendez de votre application ,,, –