У меня есть DataGridView
, который я связываю на BindingSource
.Фильтр на BindingSource: DataSource должен быть DataTable
Дело в том, что если у меня есть фильтр, он не работает.
Это необходимо, чтобы добавить Filter
на BndingSource DataSource
, что DataSource
является DataTable
.
На данный момент это jst список объектов, но я могу вернуть DataTable
.
Должен ли я изменить его или нет?
bindingSource1.DataSource = Echange.GetListEchange(contextExecution.ChaineConnexion, criteres);
GetListEchange, верните список Echange.
Но с этим, фильтр не работает:
bindingSource1.Filter = "ec.date_echange IS NULL";
Таким образом, это будет работать, если я возвращаю DataTable
вместо этого? Надеюсь, я смогу использовать Filter
, не возвращая DataTable
, но если это необходимо, не проблема.
генерировать DataTable:
vRequete += vFrom + " " + vWhere.Trim().TrimEnd("AND".ToCharArray()) + " " + vOrderBy;
vTable = vTarget.RenvoiOneTable(vRequete);
RenvoieOneTable представляет собой способ обеспечения с помощью Oracle. Код:
public override DataTable RenvoiOneTable(string piRequest)
{
DataTable poDatable = null;
try
{
poDatable = ChargeDataSet(piRequest).Tables[0];
}
catch (OracleException ThisException)
{
throw new BaseDonneesException(ThisException.Message);
}
catch (Exception ThisExcept)
{
throw new BaseDonneesException(ThisExcept.Message);
}
return poDatable;
}
public override DataSet ChargeDataSet(string piRequest)
{
DataSet poDataset = null;
try
{
//Ouverture de la connection
Connexion.Open();
//Initialisation de la commande
Command.CommandType = CommandType.Text;
//Mise en place dans la variable po_datasets de l'identifiant et du
//dataset voulu
Command.CommandText = piRequest;
using (OracleDataAdapter vAdapter = new OracleDataAdapter(Command))
{
poDataset = new DataSet();
vAdapter.Fill(poDataset);
}
}
catch (OracleException ThisException)
{
throw new BaseDonneesException(ThisException.Message);
}
catch (Exception ThisExcept)
{
throw new BaseDonneesException(ThisExcept.Message);
}
finally
{
if (Connexion.State == ConnectionState.Open)
{
Connexion.Close();
}
}
//Envoye du tableau de DataSet
return poDataset;
}
спасибо.
У вас есть столбец с именем 'ec.date_echange'? –