Questione : Come passo le selezioni multiple del listbox in una stringa di domanda?

Vorrei usare un listbox e permettere che l'utente interroghi le selezioni multiple dal listbox.  Sotto sono finora le punte del mio codice.  Grazie in anticipo! class= > " libero " del
> " del codeSnippet " del class= del
class= " lineNumbers " del
class= del
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
class= " del id= " codeSnippet749155 del
 -------------------------

// ASP.NET (myReport.aspx):
	
        	All " allineare " ListBox Items
        	


Codice di // dietro (myReport.aspx.cs):
	URL della stringa;
        URL = “viewReport.aspx? page=detail„ + “&lbid„ + myListBox.SelectedValue;


// -------------------------

// ASP.NET (viewMyReport.aspx):
	 " allineare "


Codice di // dietro (viewMyReport.aspx.cs) (rapporto di cristallo dei carichi):
    reportDocument riservato di ReportDocument = nuovo ReportDocument ();
	
	Page_Init vuoto protettivo (mittente dell'oggetto, EventArgs e)
	{
		txtPageID.Text = Request.QueryString [“pagina„];
       	 	myListboxID = Request.QueryString [“lbid„];


        	paramField di ParameterField = nuovo ParameterField ();
       	 	paramFields di ParameterFields = nuovo ParameterFields ();
        	paramDiscreteValue di ParameterDiscreteValue = nuovo ParameterDiscreteValue ();

        	casi di //Set per il parametro 2 dell'input - 
        	paramField = nuovo ParameterField ();
        	paramField.Name = “@myLbId„;
        	paramDiscreteValue = nuovo ParameterDiscreteValue ();
        	se ("" del == del myListBoxID)
        	{
            		paramDiscreteValue.Value = DBNull.Value;
        	}
        	altrimenti
        	{
            		paramDiscreteValue.Value = myListBoxID;
        	}
        	paramField.CurrentValues.Add (paramDiscreteValue);

        	//Add il paramField ai paramFields
        	paramFields.Add (paramField);

        	MyReport.ParameterFieldInfo = paramFields;

        	reportDocument.Load (Server.MapPath (“MyReport.rpt„));

		reportDocument.SetDatabaseLogon (“myUserName„, “myPassword„);

		MyReport.ReportSource = reportDocument;

	}

// -------------------------


Rapporto di cristallo di // (MyReport.rpt)
// denomina la procedura immagazzinata di SQL e visualizza i dati


// -------------------------

Procedura immagazzinata di // SQL (popola i dati sul rapporto di cristallo):
alterare la procedura [dbo]. [GenerateMyReport]
	@myLbId int
As
	cominciare
		selezionare
			*
		da
			myTable
		dove
			myColumn = @myLbId
	estremità

//-------------------------
class= del

Risposta : Come passo le selezioni multiple del listbox in una stringa di domanda?

Potete scrivere una funzione che con-gatto tutti gli articoli selezionati da listbox con “,„ o qualunque altro separatore che volete.
Allora potete mettere quello nella stringa di domanda.

Ma ricordar che presentiamo la limitazione del numero dei caratteri nella stringa di domanda.
Se supera quella, quindi dovete usare la sessione/vista-dichiarate/proprietà ecc
Altre soluzioni  
 
programming4us programming4us