如何从组合框选择中过滤XML文件 [英] How to filter XML file from combo box selection

查看:48
本文介绍了如何从组合框选择中过滤XML文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好我需要以这种格式将数据显示到datagridview。我的数据源是XML。

我想根据组合框选择来过滤xml文件。

我对使用正确的逻辑来生成数据感到困惑。 br />


如果有更好的方法来设计xml文件,请指导我。

还有一个可以更新xml文件datagridview

就像我们在dataadapter.Update(ds)中所做的那样。


Hi i need to display data in this format to a datagridview. my datasource is XML.
I want to filter the xml file according to the combobox selection.
I have a confusion that whether i am using proper logic for generating data.

please guide me if there is better way to design the xml file.
And one more is it possible to update the xml file from the datagridview
like we do in dataadapter.Update(ds)

<big></big>
        ITEM            X     Y
	amount	          150	210
	amountword	      150	210
	date	          400	250
	payagainst	       30	180







i使用数据集生成xml

我的代码是




i am using dataset for generating xml
my code is

private void button1_Click(object sender, EventArgs e)
       {
           DataTable dt = new DataTable();
           dt.TableName = "Bank";
           DataColumn dc = new DataColumn("BankName");
           DataColumn dc0 = new DataColumn("item");
           DataColumn dc1 = new DataColumn("X");
           DataColumn dc2 = new DataColumn("Y");
          dt.Columns.Add(dc);
           dt.Columns.Add(dc0);
           dt.Columns.Add(dc1);
           dt.Columns.Add(dc2);
           dt.Rows.Add("xyz","amount", "150", "210");
           dt.Rows.Add("xyz", "amountword", "150", "210");
           dt.Rows.Add("xyz", "date", "400", "250");
           dt.Rows.Add("xyz", "payagainst", "30", "180");

           dt.Rows.Add("abc", "amount", "180", "210");
           dt.Rows.Add("abc", "amountword", "50", "20");
           dt.Rows.Add("abc", "date", "40", "20");
           dt.Rows.Add("abc", "payagainst", "3", "18");
           DataSet ds = new DataSet();
           ds.DataSetName = "chequesettings";
           ds.Tables.Add(dt);
           ds.WriteXml("chequesettings.xml");
           MessageBox.Show("Xml file created sucessfully");
       }




DataSet ds = new DataSet();
           ds.ReadXml("chequesettings.xml");
           dataGridView1.DataSource=ds.Tables[0];







<chequesettings>
  <Bank>
    <BankName>xyz</BankName>
    <item>amount</item>
    <X>150</X>
    <Y>210</Y>
  </Bank>
  <Bank>
    <BankName>xyz</BankName>
    <item>amountword</item>
    <X>150</X>
    <Y>210</Y>
  </Bank>
  <Bank>
    <BankName>xyz</BankName>
    <item>date</item>
    <X>400</X>
    <Y>250</Y>
  </Bank>
  <Bank>
    <BankName>xyz</BankName>
    <item>payagainst</item>
    <X>30</X>
    <Y>180</Y>
  </Bank>
  <Bank>
    <BankName>abc</BankName>
    <item>amount</item>
    <X>180</X>
    <Y>210</Y>
  </Bank>
  <Bank>
    <BankName>abc</BankName>
    <item>amountword</item>
    <X>50</X>
    <Y>20</Y>
  </Bank>
  <Bank>
    <BankName>abc</BankName>
    <item>date</item>
    <X>40</X>
    <Y>20</Y>
  </Bank>
  <Bank>
    <BankName>abc</BankName>
    <item>payagainst</item>
    <X>3</X>
    <Y>18</Y>
  </Bank>
</chequesettings>

推荐答案

您只需要在数据表上使用该过滤操作,您可以执行以下操作:



DataTable.DefaultView.RowFilter =你的过滤条件;







欲了解更多信息,请查看以下链接,它也符合您的目的。



HTTP ://msdn.microsoft.com/en-us/library/system.data.datatable.defaultview(v = vs.110).aspx [ ^ ]







与更新操作相关,您也可以根据更新数据表更新网格并接受更改并立即转换您的数据表到xml文件并替换为现有文件。
You need to use that filtering operation on your datatable only, what you can do is you can apply filtering by

DataTable.DefaultView.RowFilter= "Your Filter Condition";



for more information you can check below link it also serves your purpose.

http://msdn.microsoft.com/en-us/library/system.data.datatable.defaultview(v=vs.110).aspx[^]



Related to update operation, you can update your grid on basis of that update your datatable as well and accept that changes and now convert your datatable to xml file and replace with existing files.


这篇关于如何从组合框选择中过滤XML文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆