none
Passar como parametro de um ObjectDataSource.SelectParameters um Objeto Filtro RRS feed

  • Pergunta

  • Bom Dia .. 

     

    Estou com uma dúvida em relação a passar como parametro de um ObjectDataSource um Objeto Filtro que eu Criei..

    se eu chamar o metodo  searchByFilter que retorna uma Lista e realizar um GridView.DataSource = dao.searchByFilter(filtro);

    também não funciona pois sobrescreve o DataSource original gerando um erro ..

     

    Somente funciona passando a string  do campo texto " txtBuscaModelo.Text " para o ObjectDataSource.SelectParameters.Add("pNome" ,  txtBuscaModelo.Text );

     

    Alguem sabe como passar um objeto como parametro ??

     

     

    Obrigado ..

     

    Codigo da app ...

     

    public class FiltroBuscaVeiculo : FiltroBase

    {

    private String modelo;

     

    public String Modelo

    {

    get { return modelo; }

    set { modelo = value; }

    }

    }

     

     

    //Evento que chama o metodo de busca

    protected void bntBusca_Click(object sender, EventArgs e)

    {

    FiltroBuscaVeiculo filtro = new FiltroBuscaVeiculo();

    filtro.Id = txtBuscaId.Text;

    filtro.Modelo = txtBuscaModelo.Text;

     

    ObjectDataSource.SelectMethod = "searchByFilter";

    ObjectDataSource.SelectParameters.Clear();

    ObjectDataSource.SelectParameters.Add("pFiltro", filtro); // não suporta objetos, somente strings

    }

     

    //Metodo DAO searchByFilter

    public IList<ValueObject> searchByFilter(FiltroBase pFiltro)

    {

    FiltroBuscaVeiculo filtro = (FiltroBuscaVeiculo)pFiltro;

    ICriteria criteria = session.CreateCriteria(typeof(Veiculo));

     

    if ( ! filtro.Id.Equals(0))

    criteria.Add(Expression.Eq("Id", filtro.Id));

    if ( ! filtro.Modelo.Equals(String.Empty))

    criteria.Add(Expression.Like("Modelo", "%"+filtro.Modelo+"%"));

     

    IList<EntidadeNegocio> res = criteria.List<EntidadeNegocio>();

     

    return new VeiculoVH().getVOList(res);

    }

     

     

    domingo, 4 de novembro de 2007 14:18

Todas as Respostas

  •  

    blz

    tenta o seguinto comando

    ObjectDataSource.SelectParameters.Add("@fitro", filtro); // não suporta objetos, somente strings

    até mais

    terça-feira, 6 de novembro de 2007 13:34