allora, ho modificato la SP cosi:
codice:
@soluzione_ int,
@gruppo_ int
As
SELECT siti.sito#, siti.localita, siti.descrizione, siti.IP, gruppi.descrizione AS Expr2, tipi_deploy.descrizione AS Expr1, siti.versione,siti.ultimo_avvio, siti.riserva, siti.app_disk_space,
siti.versione_itl, tipi_connessione.descrizione AS tipo_connessione_, siti.TGU, tipologia_monitor.descrizione AS tipologia_monitor_, siti.ip_voyager
FROM siti
INNER JOIN tipi_deploy ON siti.tipo_deploy# = tipi_deploy.tipo_deploy#
INNER JOIN gruppi ON siti.gruppo#=gruppi.gruppo#
INNER JOIN tipi_connessione ON siti.tipo_connessione#=tipi_connessione.tipo_connessione#
INNER JOIN tipologia_monitor ON siti.tipologia_monitor#=tipologia_monitor.tipologia_monitor#
WHERE (soluzione# = @soluzione_ OR @soluzione_ is null) AND (gruppi.gruppo# = @gruppo_ Or @gruppo_ is null)
poi nella pagina:
codice:
<td>
<asp:DropDownList ID="ddlNetwork" runat="server" DataSourceID="objNetwork" DataTextField="descrizione"
DataValueField="soluzione#" AppendDataBoundItems="True" AutoPostBack="True">
<asp:ListItem Selected="True" Value="">*</asp:ListItem>
</asp:DropDownList>
<asp:ObjectDataSource ID="objNetwork" runat="server" SelectMethod="ddlNetwork" TypeName="TNWDB.Decoder">
</asp:ObjectDataSource>
</td>
<td>
<asp:DropDownList ID="ddlGruppi" runat="server" AppendDataBoundItems="True" AutoPostBack="True"
DataSourceID="objGruppi" DataTextField="descrizione" DataValueField="gruppo#"
EnableViewState="False">
<asp:ListItem Selected="True" Value="">*</asp:ListItem>
</asp:DropDownList>
<asp:ObjectDataSource ID="objGruppi" runat="server" SelectMethod="ddlGruppi" TypeName="TNWDB.Decoder">
<SelectParameters>
<asp:ControlParameter ControlID="ddlNetwork" Name="par" PropertyName="SelectedValue"
Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
</td>
.......
GridView
......
<asp:ObjectDataSource ID="objDecoder" runat="server" SelectMethod="gvSource" TypeName="TNWDB.Decoder">
<SelectParameters>
<asp:ControlParameter ControlID="ddlNetwork" Name="network" PropertyName="SelectedValue"
Type="Int32" />
<asp:ControlParameter ControlID="ddlGruppi" Name="gruppo" PropertyName="SelectedValue"
Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
ora devo modificare il metodo richiamato nell'objectdatasource:
codice:
public static DataSet gvSource(int network, int gruppo)
{
DataSet ds = null;
SqlDataAdapter adapter = null;
SqlCommand cmd = null;
try
{
conn.Open();
cmd = new SqlCommand("TNW_select_siti", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@soluzione_", network);
cmd.Parameters.AddWithValue("@gruppo_", gruppo);
adapter = new SqlDataAdapter(cmd);
ds = new DataSet();
adapter.Fill(ds);
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
finally
{
ds.Dispose();
adapter.Dispose();
conn.Close();
}
return ds;
}
come posso fare??