Bonjour,

J'utilise un dataView qui me permet de filtrer des données en provenance d'un DataTable mais le soucis est que le nom des colonnes peut contenir n'importe quel charactère spécial (parenthèse, quote, etc etc etc ...)

Bref voici ce que je fais :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
            DataView view = null;
            string rowFilter = "";
 
            if (globalGroup == null)
                return view;
            if (groupState == null || groupState.EquipmentCharacteristics == null)
                return view;
 
 
            foreach (Characteristic globalCharac in globalGroup.Characteristics)
            {
                foreach (EquipmentStateCharacteristic eqStateCharac in groupState.EquipmentCharacteristics)
                {
                    if (eqStateCharac.CharacDescriptor.Id == globalCharac.ConfCharac.Descriptor.Id)
                    {
                        if (eqStateCharac.CharacteristicValue != null && !globalCharac.IsFreeValue)
                        {
                            if (!string.IsNullOrEmpty(rowFilter))
                            {
                                rowFilter += "AND ";
                            }
                            rowFilter += globalCharac.ConfCharac.Descriptor.Id + " = '" + eqStateCharac.CharacteristicValue.Value + "' ";
                        }
                        break;
                    }
                }
            }
            view = new DataView(globalGroup.DtTable, rowFilter, globalGroup.Characteristics[0].ConfCharac.Descriptor.Id, DataViewRowState.CurrentRows);
j'ai donc une erreur à la création du dataView puisque le filtre n'est pas bon (par exemple le filtre contient :
toto_(mm) = '100A'
)

Merci d'avance pour ceux qui auraient une solution (formatter les charactères spéciaux ? Autre chose ? :!)