J'utilise un contrôle DevExpressLookUpEdit
. Ma base de données a deux tables qui contrôlent la population des options de contrôle. Un appelé MaintCategory et un appelé MaintItem. Cela introduit un nombre magique dans mon programme (le CategoryID) mais permet beaucoup de personnalisation d'exécution.Comment insérer une ligne "vide" dans un DataTable?
Mon problème réside dans la façon de permettre à mes utilisateurs de désélectionner une liste déroulante SANS que je doive ajouter un élément "vide" pour chaque CategoryID
. N'y a-t-il pas moyen d'injecter une ligne vide? Au niveau du contrôle ou lorsque je construis le DataTable
pour revenir?
C'est la méthode DAL que j'utilise pour remplir tous les choix de contrôle.
public static DataTable GetMaintItems(int iCat)
{
using (var context = CmoDataContext.Create())
{
IQueryable<tblAdminMaintItem> tItems = context.GetTable<tblAdminMaintItem>();
return (tItems.Where(item => item.CategoryID == iCat & item.Active == true).OrderBy(item => item.OrderID).Select(
item => new { item.ItemID, item.ItemDescription })).CopyLinqToDataTable();
}
}
Impossible de savoir pourquoi vous devez avoir une ligne vide. Que voulez-vous dire par désélectionner la liste déroulante "désélectionner une liste déroulante SANS que je doive ajouter un élément" vide "pour ..."? Pouvez-vous élaborer l'utilisation? Pour une liste déroulante, définir l'élément selected à -1 sinon fait le travail. – Kangkan
@Kangkan: À l'heure actuelle, une fois qu'ils ont sélectionné un élément dans la liste déroulante, ils ne peuvent pas «changer d'avis» et décider qu'ils ne veulent rien sélectionner de cette catégorie. Il n'y a pas d'option non-select, clear, blank, etc. Cela a plus de sens. –