lorsque je l'exécute pour filtrer mon fichier xml, il renvoie toutes les lignes, même celles qui sont supérieures au montant donné.Le filtre de ligne de la grille de données renvoie moins de
DataSet ds = new DataSet();
ds.ReadXml("Database.xml");
string filter = "";
filter = "Dayvisited <= '20'";
DataView dv = new DataView(ds.Tables[0]);
dv.RowFilter = filter;
dataGridView2.DataSource = dv;
dataGridView2.Columns[4].Visible = false;
ceci est mon xml
<root>
<place>
<Name />
<Location />
<Info />
<Dayvisited />
<userdata />
</place>
<place>
<Name>home</Name>
<Location>x-292 z 277</Location>
<Info>home</Info>
<Dayvisited>100</Dayvisited>
<userdata>u</userdata>
</place>
<place>
<Name>base</Name>
<Location>x868 z986</Location>
<Info>stuff</Info>
<Dayvisited>20</Dayvisited>
<userdata>u</userdata>
</place>
<place>
<Name>town</Name>
<Location>x 990 z-2485</Location>
<Info>gas station</Info>
<Dayvisited>12</Dayvisited>
<userdata>u</userdata>
</place>
<place>
<Name>crossing</Name>
<Location>x 90 z-2998</Location>
<Info>working stiff</Info>
<Dayvisited>11</Dayvisited>
<userdata>u</userdata>
</place>
<place>
<Name>home</Name>
<Location>x-280 z 277</Location>
<Info>home and more stuff</Info>
<Dayvisited>125</Dayvisited>
<userdata>u</userdata>
</place>
</root>
comment puis-je faire revenir seulement ceux qui ont Dayvisited moins de 20 à la grille de données ?. Je pensais que l'utilisation de la zone de texte pour la valeur était déroutant quelque chose, donc je l'ai changé pour simplement utiliser 20 et il le fait encore et je ne sais pas pourquoi.
comment j'ajouter l'entrée d'utilisateur au fichier
try
{
DataRow dr = ds.Tables[0].NewRow();
dr["Name"] = Nametb.Text;
dr["Location"] = Locationtb.Text;
dr["Info"] = Infotb.Text;
dr["Dayvisited"] = dayvisitcb.Text;
dr["userdata"] = "u";
ds.Tables[0].Rows.Add(dr);
ds.WriteXml("Database.xml");
}
catch (Exception)
{
throw;
}
avez-vous essayé '" Dayvisited <= 20 "'? – Alberto
oui il dit ceci, "Impossible d'effectuer l'opération <=" sur System.String et System.Int32. " –
Pouvez-vous ajouter le code qui lit les données dans le 'DataSet'? Il semble que vous stockiez la valeur de 'DayVisited' en tant que chaîne. Cela conduit à "100" étant inférieur à "20" dans l'ordre alphabétique. C'est pourquoi tous les enregistrements sont affichés. – Markus