Catégorie : C#

C# – Récupération de données d’un webservices formaté en JSON

Pré requis :

Télécharger la librairie JSON.NET : http://json.codeplex.com/

 

WebService :

[WebMethod]

public string creancierAndroid()

{

Npgsql.NpgsqlConnection sqlCon = new Npgsql.NpgsqlConnection();

string ConnectionStr = System.Configuration.ConfigurationManager.AppSettings[« connexion »].ToString();

sqlCon.ConnectionString = ConnectionStr;

string req = « select c.client_numero , ad.adresse_nom  from  client c  « ;

sqlCon.Open();

DataSet ds = new DataSet();

Npgsql.NpgsqlDataAdapter da = new Npgsql.NpgsqlDataAdapter(req, sqlCon);

da.Fill(ds);

sqlCon.Close();

string strDetails = «  »;

if (ds.Tables[0].Rows.Count > 0)

{

strDetails += « [« ;

for (int i = 0; i < ds.Tables[0].Rows.Count; i++)

{

strDetails +=

« {\ »Field1\ »:\ » » + ds.Tables[0].Rows[i][« creancier_numero »].ToString() + « \ », \ »Field2\ »:\ » » + ds.Tables[0].Rows[i][« adresse_nom »].ToString() + « \ »}, »;

}

strDetails += « ] »;

strDetails = strDetails.Replace(« ,] », « ] »);

}

return strDetails;

}

 

Appel du webservice avec récupération des données JSON remis dans un Datatable :

ServiceReference1.svCyrusSoapClient sv = new ServiceReference1.svCyrusSoapClient();

string resultat = sv.creancierAndroid();

DataTable dt = new DataTable();

dt = (DataTable)JsonConvert.DeserializeObject(resultat, dt.GetType());

dataGridView1.DataSource = dt;

 

 

 

 

 

 

 

Publicités

Linq – Remplir une liste déroulante (DropDownList)

var query = from m in data.menu
join p in data.page on m.menu_page_id equals p.id
group p by new { m.menu_txt , menuId = m.id, pid = p.id, } into g
select new { g.Key.menu_txt, g.Key.pid, g.Key.menuId };
int b = 0;
foreach (var i in query)
{
DropDownList1.Items.Add(i.menu_txt);
DropDownList1.Items[b].Value = i.menuId.ToString();
b++;
})

WPF – Lire un fichier XML dans un gridview

Code XAML :
< Grid >
< ListView Name= »List1″ Margin= »35,34,28,123″ ItemTemplate= »{DynamicResource CustomerTemplate} » ItemsSource= »{Binding Path=Table} »>
< ListView.View>
< GridView>
< GridViewColumn Header= »Marque » DisplayMemberBinding= »{Binding Path=marque} »/>
< GridViewColumn Header= »Modele » DisplayMemberBinding= »{Binding Path=modele} »/>
< GridViewColumn Header= »Vitesse » DisplayMemberBinding= »{Binding Path=vitesse} »/>
< /GridView>
< /ListView.View>
< /ListView>
< /Grid>
Code Behind :
// lecture du fichier xml dans un gridview
string file = @ »c:testxmlData1.xml »;
DataSet ds = new DataSet(« Table »);
ds.ReadXml(file);
List1.DataContext = ds.Tables[0].DefaultView;

XML – Mise à jour d’un document XML

// mise a jour de la marque et modele par rapport un une id
// creation de l’instance du document xml
XmlDocument xmldoc = new XmlDocument();
// chargement du fichier xml
xmldoc.Load(@ »c:testxmlData1.xml »);
//recherche du noeud voiture ayant 3 dans l’attribut ID XmlNodeList xnl = xmldoc.DocumentElement.SelectNodes(« voiture[@ID=’3′] »);
// definition du texte du premier noeud enfant (marque)
xnl[0].ChildNodes[0].InnerText = « mercedes »;
// definition du deuxieme noeud enfant (modele)
xnl[0].ChildNodes[1].InnerText = « cls220″;
xmldoc.Save(@ »c:testxmlData1.xml »);

XML – Ajout de nouveaux éléments dans un fichier XML

//Ajout de nouvelle voiture(marque, modele) dans le fichier xml a la suite XmlDocument xmldoc = new XmlDocument();
// Chargement du document xml
xmldoc.Load(@ »c:testxmlData1.xml »);
// Récupération du dernier ID enregistré
string lastid = xmldoc.DocumentElement.LastChild.Attributes[« ID »].Value.ToString();
// Creation du nouvel ID (dernier ID + 1) int newid = int.Parse(lastid.ToString()) + 1;
// Créer un nouveau document xml
XmlElement newcatalogentry = xmldoc.CreateElement(« voiture »);
// Création d’un nouvel attribut (id) au noeud voiture
XmlAttribute newcatalogattr = xmldoc.CreateAttribute(« ID »);
// Valeur de l’attribut du noeud voiture
newcatalogattr.Value = newid.ToString();
// Ajout de la valeur de l’attribut au noeud voiture newcatalogentry.SetAttributeNode(newcatalogattr);
// Creation du premier element de voiture
XmlElement firstelement = xmldoc.CreateElement(« marque »);
// Ajout d’une valeur text a l’element « marque » firstelement.InnerText = « peugeot »;
// Ajout de l’element marque au noeud voiture newcatalogentry.AppendChild(firstelement);
// Création d’un deuxieme element
XmlElement secondelement = xmldoc.CreateElement(« modele »);
// Ajout d’une valeur text a l’element « modele »
secondelement.InnerText = « 207 »;
// Ajout de l’element marque au noeud voiture newcatalogentry.AppendChild(secondelement);
// Insertion de tout ce qu’on a créé dans le fichier XML
xmldoc.DocumentElement.InsertAfter(newcatalogentry, xmldoc.DocumentElement.LastChild);
// Sauvegarde du document XML
xmldoc.Save(@ »c:testxmlData1.xml »);

XML – Ecrire / créer un fichier XML

//Ecrire/créer un fichier xml
// Créer un nouvelle instance d’XMLTxtxWriter
XmlTextWriter myXmlTextWriter = new XmlTextWriter(@ »c:testxmlData1.xml », null);
myXmlTextWriter.Formatting = Formatting.Indented;
myXmlTextWriter.WriteStartDocument(false);
//creation d’un commentaire
myXmlTextWriter.WriteComment(« base de données de voiture »);
// creation du premier noeud
myXmlTextWriter.WriteStartElement(« voiture »);
myXmlTextWriter.WriteElementString(« marque », null, « sélectionner »);
myXmlTextWriter.WriteElementString(« modele », null, « sélectionner »);
myXmlTextWriter.WriteElementString(« version », null, « sélectionner « );
myXmlTextWriter.Flush();
myXmlTextWriter.Close();

C# – Lire un fichier texte

using (System.IO.FileStream fs =

new System.IO.FileStream(« fichier.txt », System.IO.FileMode.Open))
{
System.IO.StreamReader sr = new System.IO.StreamReader(fs, Encoding.GetEncoding(« iso-8859-1 »));
string txt = sr.ReadToEnd();
}

C# – Lire et écrire dans la base de registre

// recupere clé dans la base de registre

publicstring GetKeyValue(string DirName, string name)

{

Microsoft.Win32.RegistryKey key = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(DirName, true);

return key.GetValue(name).ToString();

}

// ecris clé dans la base de registre

publicvoid SetKeyValue(string DirName, string name, string value)

{

Microsoft.Win32.RegistryKey key = Microsoft.Win32.Registry.CurrentUser.CreateSubKey(DirName);

key.SetValue(name, value);

}

VB / C# – DataGridViewCheckBoxCell déclencher l’événement seulement sur la checkbox et non sur la cellule

VB.NET :

PrivateSub dg_CurrentCellDirtyStateChanged(sender As System.Object, e As System.EventArgs) Handles dg.CurrentCellDirtyStateChanged

IfTypeOf dgEcriture.CurrentCell IsDataGridViewCheckBoxCellThen
dg.CommitEdit(DataGridViewDataErrorContexts.Commit)
EndIf

EndSub

PrivateSub dg_CellValueChanged(sender As System.Object, e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dg.CellValueChanged

‘ Traitement à faire
  
EndSub

C# :

 private void dg_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
//Traitement à faire
}

private void dg_CurrentCellDirtyStateChanged(object sender, EventArgs e)
{
if (dg.CurrentCell is DataGridViewCheckBoxCell)
{
dg.CommitEdit(DataGridViewDataErrorContexts.Commit);
}
}