Ich verwende Infragistics WebDataGrid in diesem ziemlich großen Projekt. Was passiert, wenn ein Benutzer 2 Daten auswählt und eine Defektnummer der Baugruppennummer in mindestens einem von 10 WebDatagrids angezeigt wird. Die meiste Zeit gibt es Defekt Informationen in 2 oder mehr. Ich vergleiche Ergebnisse mit einer alten VB.NET Windows Forms-Anwendung. Ich kann den SP erfolgreich ausführen und Ergebnisse erhalten, jedoch wird nur ein Datagrid mit Ergebnissen gefüllt und nicht andere Grids, die Informationen in ihnen haben sollten. Ich habe Verbindungsdetails aus Sicherheitsgründen entfernt. Ich schätze die Hilfe im Voraus.C# -Daten werden nicht durch DataGrid SQL SP
C# -Code private void MessageBox (string msg) { Page.Controls.Add (neu LiteralControl ( "window.alert ('" + msg.Replace ("'", "\ '") + "')")); }
private void getDefects(string workArea, WebDataGrid webDG)
{
if (wdpStartDate.Text == "" || wdpEndDate.Text == "")
{
MessageBox("You must provide values for Start Date and End Date!");
}
else
{
//Create a connection to the SQL Server on IIS01.
//Establishes the command structure for the stored procedure Top5Defects.
SqlCommand cmd = new SqlCommand("dbo.Top5Defects", iis01Connection);
cmd.CommandType = CommandType.StoredProcedure;
//Establishes the required parameters to pass to the stored procedure.
cmd.Parameters.AddWithValue("@StartDate", wdpStartDate.Date.ToShortDateString());
cmd.Parameters.AddWithValue("@EndDate", wdpEndDate.Date.ToShortDateString());
cmd.Parameters.AddWithValue("@Assembly", Assemblies.CurrentValue);
cmd.Parameters.AddWithValue("@WorkArea", workArea);
iis01Connection.Open();
SqlDataReader dr = cmd.ExecuteReader();
webDG.DataSource = dr;
webDG.DataBind();
}
}
public void GetDefectHistory()
{
getDefects("SL", wdgSL);
getDefects("PW", wdgPW);
getDefects("SMT", wdgSMT);
getDefects("SS/Wave", wdgSSWV);
getDefects("AI", wdgAI);
getDefects("ICT", wdgICT);
getDefects("FT", wdgFT);
getDefects("CC", wdgCC);
getDefects("EM", wdgEM);
getDefects("TC", wdgTC);
}
protected void btnResults_Click(object sender, EventArgs e)
{
GetDefectHistory();
}
Stored Procedure USE [EMSDatabase] GO /****** Objekt:. StoredProcedure [dbo] [Top5Defects] Script Datum: 2016.10.18 10.15: 48 Uhr ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO - ========================== ================== - Autor: Trent Adams> - Erstellungsdatum: 13.10.2016 - Beschreibung: Eine gespeicherte Prozedur für die EMS-Datenbank Top Defects - ================================================== ======== ALTER PROCEDURE [DBO]. [Top5Defects] @StartDate DATETIME-, @EndDate DATETIME-, @Assembly VARCHAR (50), @WorkArea VARCHAR (50)
AS
--Declare @WorkArea as VARCHAR(50)
--Set @WorkArea ='SL'
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
SELECT Top 5 Sum(Quantity) AS 'Sum', DefectCode As Defect, PartInvolved AS Part
FROM EMSDefectHistory
WHERE DateEntered Between @StartDate AND @EndDate
AND Assembly = @Assembly
AND WorkArea = @WorkArea
GROUP BY DefectCode, PartInvolved
ORDER BY Sum(Quantity) DESC
END