ho due dropdownlist.
le riempio così:
codice:
namespace TNWDB
{
public class Decoder
{
private SqlConnection conn = Connection.getConn();
public DataSet ddlNetworkSource()
{
SqlDataAdapter adapter = new SqlDataAdapter("select_soluzioni", conn);
try
{
DataSet ds = new DataSet();
adapter.Fill(ds);
return ds;
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
public DataSet ddlGruppiSource()
{
SqlDataAdapter adapter = new SqlDataAdapter("select_gruppi_soluzione", conn);
try
{
DataSet ds = new DataSet();
adapter.Fill(ds);
return ds;
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
}
}
sulla pagina uso due objectdatasource:
codice:
<td>
<asp:DropDownList ID="ddlNetwork" runat="server" DataSourceID="objNetwork" DataTextField="descrizione"
DataValueField="soluzione#" AppendDataBoundItems="True" AutoPostBack="True">
</asp:DropDownList>
<asp:ObjectDataSource ID="objNetwork" runat="server" SelectMethod="ddlNetworkSource"
TypeName="TNWDB.Decoder"></asp:ObjectDataSource>
</td>
<td>
<asp:DropDownList ID="ddlGruppi" runat="server" AppendDataBoundItems="True" AutoPostBack="True"
DataSourceID="objGruppi" DataTextField="descrizione" DataValueField="gruppo#">
</asp:DropDownList>
<asp:ObjectDataSource ID="objGruppi" runat="server" SelectMethod="ddlGruppiSource"
TypeName="TNWDB.Decoder">
<SelectParameters>
<asp:ControlParameter ControlID="ddlNetwork" Name="soluzione#" PropertyName="SelectedValue"
Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
</td>
se nella prima ddl è selezionato la prima voce (*) la seconda ddl ha tutte le voci.
sennò la devo filtrare.
per le query uso due SP.
questa è quella della seconda ddl:
codice:
USE [TELENEWS]
GO
/****** Object: StoredProcedure [dbo].[select_gruppi_soluzione] Script Date: 03/14/2011 12:01:08 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER Procedure [dbo].[select_gruppi_soluzione]
@soluzione# int
As
SELECT gruppo#,
descrizione
FROM gruppi
WHERE soluzione#=@soluzione#
ORDER BY descrizione
ottengo sempre questo errore:
System.InvalidOperationException: ObjectDataSource 'objGruppi' could not find a non-generic method 'ddlGruppiSource' that has parameters: soluzione#.
dove soluzione# è la FK di collegamento.