从Datagrid转换为xml [英] converting from Datagrid to xml
本文介绍了从Datagrid转换为xml的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
来自Datagrid,当我选择行时应该在系统中生成xml
问候
Balamurugan
Hi,
From Datagrid when i''m selecting row should should generate as xml in system
Regards
Balamurugan
推荐答案
编码:
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用System.Text;
使用System.Windows;
使用System.Windows.Controls;
使用System.Windows.Data;
使用System.Windows.Documents;
使用System.Windows.Input;
使用System.Windows.Media;
使用System.Windows.Media.Imaging;
使用System.Windows.Navigation;
使用System.Windows.Shapes;
使用System.Data;
使用System .Data.SqlClient;
名称空间样本
{
///< summary>
/// Window1.xaml的交互逻辑
///
公共部分类Window1 :Window
{
SqlConnection con = new SqlConnection(server = .; database = test; trusted_connection = true;);
public Window1()
{
InitializeComponent();
}
private void Window_Loaded(object sender,RoutedEventArgs e)
{
con.Open();
comboBox1.Items.Add(All) ;
comboBox2.Items.Add(All);
comboBox3.Items.Add(All);
comboBox4.Items .Add(All);
comboBox1.SelectedIndex = 0;
comboBox2.SelectedIndex = 0;
comboBox3.SelectedIndex = 0;
comboBox4.SelectedIndex = 0;
SqlCommand cmd = new SqlCommand(select test gn from test,con);
SqlDataReader rd = cmd.ExecuteReader();
w hile(rd.Read())
{
comboBox1.Items.Add(rd [0] .ToString());
}
rd.Close();
cmd = new SqlCommand(select test cn from test,con);
rd = cmd。 ExecuteReader();
while(rd.Read())
{
comboBox2.Items.Add(rd [0] .ToString( ));
}
rd.Close();
cmd = new SqlCommand(select distinct at at test,con);
rd = cmd.ExecuteReader();
while(rd.Read())
{
comboBox3.Items.Add(rd [0] .ToString());
}
rd.Close();
cmd = new SqlCommand(select test ft from test,con);
rd = cmd.ExecuteReader();
while(rd.Read( ))<无线电通信/>
{
comboBox4.Items.Add(rd [0] .ToString());
}
rd。关闭();
con.Close();
}
private void button2_Click(对象发送者, RoutedEventArgs e)
{
int i = 0;
string com =select * from test;
if(comboBox1.Text!=All|| comboBox2.Text!=全部|| comboBox3.Text!=全部|| comboBox4.Text!=全部)
{
com + =where;
}
if(comboBox1.Text!=All)
{
if(i< 1)
{
com + =gn =''+ comboBox1.Text +'';
i ++;
}
else
{
com + =和gn =''+ comboBox1.Text +'';
i ++;
}
}
if(comboBox2.Text!=全部)
{
if(i< 1)
{
com + =cn =''+ comboBox2.Text +'';
i ++;
}
else
{
com + =和cn =''+ comboBox2.Text +'';
i ++;
}
}
if(comboBox3.Text!=All)
{
if(i< 1)
{
com + =at =''+ comboBox3.Text +'';
i ++;
}
其他
{
com + =和at =''+ comboBox3.Text +' ';
i ++;
}
}
if(comboBox4.Text!=全部)
{
if(i< 1)
{
com + =ft ='' + comboBox4.Text +'';
i ++;
}
else
{
com + =和ft =''+ comboBox4.Text +'';
i ++;
}
}
DataTable datatable = new DataTable();
datatable.Columns.Add(Select,typeof(bool));
datatable.Columns.Add(Group Name,typeof(string));
datatable.Columns.Add(Client Name,typeof(string));
datatable.Columns.Add(Assesment Type,typeof(string));
datatable.Columns.Add(Form Type,typeof(string));
con.Open();
SqlCommand cmd = new SqlCommand(com,con);
SqlDataReader rd = cmd.ExecuteReader();
while(rd.Read())
{
DataRow tr = datatable.NewRow();
tr [Select] = false;
tr [ Group Name] = rd [0] .ToString();
tr [Client Name] = rd [1] .ToString();
tr [ 评估类型] = rd [2] .ToString();
tr [表单类型] = rd [3] .ToString();
dat atable.Rows.Add(tr);
}
rd.Close();
con.Close();
dataGrid1.DataContext = datatable;
}
private void button1_Click(object sender,RoutedEventArgs e)
{
String str =+ Environment.NewLine +< node> + Environment.NewLine;
for(int i = 0; i< dataGrid1.Items.Count; i ++)
{
系统。 Data.DataRowView dv =(DataRowView)dataGrid1.Items [i];
DataRow dr = dv.Row;
if(dr.ItemArray [0] .ToString() ==真)
{
str + =< record> + Environment.NewLine;
str + =< + dataGrid1.Columns [1] .Header.ToString()。替换(,_)+> + Environment.NewLine + dr.ItemArray [1] .ToString()+ Environment.NewLine ++ Environment.NewLine;
str + =<+ dataGrid1.Columns [2] .Header .ToString()。Replace(,_)+>+ Environment.NewLine + dr.ItemArray [2] .ToString()+ Environment.NewLine ++ Environment.NewLine;
str + =< + dataGrid1.Columns [3] .Header.ToString()。替换(,_)+> + Environment.NewLine + dr.ItemArray [3] .ToString()+ Environment.NewLine ++ Environment.NewLine;
str + =<+ dataGrid1.Columns [4] .Header .ToString()。Replace(,_)+>+ Environment.NewLine + dr.ItemArray [4] .ToString()+ Environment.NewLine ++ Environment.NewLine;
str + =+ Environment.NewLine;
}
}
str + =;
System.IO.File.WriteAllText(G:\\text.xml,str);
MessageBox.Show(文件生成成功);
}
}
}
Coding :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Data;
using System.Data.SqlClient;
namespace sample
{
/// <summary>
/// Interaction logic for Window1.xaml
///
public partial class Window1 : Window
{
SqlConnection con = new SqlConnection("server=.;database=test;trusted_connection=true;");
public Window1()
{
InitializeComponent();
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
con.Open();
comboBox1.Items.Add("All");
comboBox2.Items.Add("All");
comboBox3.Items.Add("All");
comboBox4.Items.Add("All");
comboBox1.SelectedIndex = 0;
comboBox2.SelectedIndex = 0;
comboBox3.SelectedIndex = 0;
comboBox4.SelectedIndex = 0;
SqlCommand cmd = new SqlCommand("select distinct gn from test", con);
SqlDataReader rd = cmd.ExecuteReader();
while (rd.Read())
{
comboBox1.Items.Add(rd[0].ToString());
}
rd.Close();
cmd = new SqlCommand("select distinct cn from test", con);
rd = cmd.ExecuteReader();
while (rd.Read())
{
comboBox2.Items.Add(rd[0].ToString());
}
rd.Close();
cmd = new SqlCommand("select distinct at from test", con);
rd = cmd.ExecuteReader();
while (rd.Read())
{
comboBox3.Items.Add(rd[0].ToString());
}
rd.Close();
cmd = new SqlCommand("select distinct ft from test", con);
rd = cmd.ExecuteReader();
while (rd.Read())
{
comboBox4.Items.Add(rd[0].ToString());
}
rd.Close();
con.Close();
}
private void button2_Click(object sender, RoutedEventArgs e)
{
int i = 0;
string com = "select * from test";
if (comboBox1.Text != "All" || comboBox2.Text != "All" || comboBox3.Text != "All" || comboBox4.Text != "All")
{
com += " where ";
}
if (comboBox1.Text != "All")
{
if (i < 1)
{
com += "gn=''" + comboBox1.Text + "'' ";
i++;
}
else
{
com += "and gn=''" + comboBox1.Text + "'' ";
i++;
}
}
if (comboBox2.Text != "All")
{
if (i < 1)
{
com += "cn=''" + comboBox2.Text + "'' ";
i++;
}
else
{
com += "and cn=''" + comboBox2.Text + "'' ";
i++;
}
}
if (comboBox3.Text != "All")
{
if (i < 1)
{
com += "at=''" + comboBox3.Text + "'' ";
i++;
}
else
{
com += "and at=''" + comboBox3.Text + "'' ";
i++;
}
}
if (comboBox4.Text != "All")
{
if (i < 1)
{
com += "ft=''" + comboBox4.Text + "'' ";
i++;
}
else
{
com += "and ft=''" + comboBox4.Text + "'' ";
i++;
}
}
DataTable datatable = new DataTable();
datatable.Columns.Add("Select", typeof(bool));
datatable.Columns.Add("Group Name", typeof(string));
datatable.Columns.Add("Client Name", typeof(string));
datatable.Columns.Add("Assesment Type", typeof(string));
datatable.Columns.Add("Form Type", typeof(string));
con.Open();
SqlCommand cmd = new SqlCommand(com,con);
SqlDataReader rd = cmd.ExecuteReader();
while (rd.Read())
{
DataRow tr = datatable.NewRow();
tr["Select"] = false;
tr["Group Name"] = rd[0].ToString();
tr["Client Name"] = rd[1].ToString();
tr["Assesment Type"] = rd[2].ToString();
tr["Form Type"] = rd[3].ToString();
datatable.Rows.Add(tr);
}
rd.Close();
con.Close();
dataGrid1.DataContext = datatable;
}
private void button1_Click(object sender, RoutedEventArgs e)
{
String str = "" + Environment.NewLine + "<node>" + Environment.NewLine;
for (int i = 0; i < dataGrid1.Items.Count; i++)
{
System.Data.DataRowView dv = (DataRowView)dataGrid1.Items[i];
DataRow dr = dv.Row;
if(dr.ItemArray[0].ToString()=="True")
{
str += "<record>" + Environment.NewLine;
str += "<" + dataGrid1.Columns[1].Header.ToString().Replace(" ", "_") + ">" + Environment.NewLine + dr.ItemArray[1].ToString() + Environment.NewLine + " + Environment.NewLine;
str += "<" + dataGrid1.Columns[2].Header.ToString().Replace(" ", "_") + ">" + Environment.NewLine + dr.ItemArray[2].ToString() + Environment.NewLine + " + Environment.NewLine;
str += "<" + dataGrid1.Columns[3].Header.ToString().Replace(" ", "_") + ">" + Environment.NewLine + dr.ItemArray[3].ToString() + Environment.NewLine + " + Environment.NewLine;
str += "<" + dataGrid1.Columns[4].Header.ToString().Replace(" ", "_") + ">" + Environment.NewLine + dr.ItemArray[4].ToString() + Environment.NewLine + " + Environment.NewLine;
str += "" + Environment.NewLine;
}
}
str += "";
System.IO.File.WriteAllText("G:\\text.xml", str);
MessageBox.Show("File Generated Successfully");
}
}
}
这篇关于从Datagrid转换为xml的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文