zoukankan      html  css  js  c++  java
  • linq to xml查询绑定GridView

     private void textEdit1_KeyDown(object sender, KeyEventArgs e)
            {
                string path = Application.StartupPath + "\\" + this.textEdit2.Text.Trim();
                if (e.KeyCode == Keys.Enter)
                {
                    if (!File.Exists(path))
                    {
                        XtraMessageBox.Show("未找相应的文件", "提示信息", 
                            MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }
                        XElement xele = XElement.Load(path);
    
                        /*var query = from toolbox in xele.Elements()
                                    select toolbox;
    
                        var query1 = from table in query
                                     where table.Value.Contains(this.textEdit1.Text.Trim())
                                          || table.Value.Contains(this.textEdit1.Text.Trim())
                                     select table;*/
    
                        IEnumerable<XElement> query1 =
                                                    from table in xele.Nodes().OfType<XElement>()
                                                    where table.Value.Contains(this.textEdit1.Text.Trim())
                                                    select table; 
                        using (DataTable dt = new DataTable())
                        {
                            DataColumn dc = null;
                            DataRow newRow;
                            //dt.Columns.Clear();
                            //dt.Rows.Clear();
                            dt.Clear();
                            foreach (XElement item in query1.Nodes())
                            {
                                String columns = item.Name.ToString();
                                if (!dt.Columns.Contains(columns))
                                {
                                    //XAttribute alias = item.Attribute(columns);
                                    dc = dt.Columns.Add(columns, Type.GetType("System.String"));
                                }
                            }
    
                            foreach (XElement item in query1)
                            {
                                newRow = dt.NewRow();
                                for (int i = 0; i < dt.Columns.Count; i++)
                                {
                                    String col = dt.Columns[i].ToString();
                                    newRow[col] = item.Element(col).Value;
                                }
                                dt.Rows.Add(newRow);
                            }
    
                            this.grvlist.Columns.Clear();
                            this.grvlist.KeyDown -= grvlist_KeyDown; 
                            if (dt.Rows.Count > 0)
                            {
                                gclist.DataSource = dt;
                                this.grvlist.Focus();
                                this.grvlist.KeyDown += grvlist_KeyDown;
                            }
                            else
                            {
                                gclist.DataSource = null;
                            }
                        } 
                }
            }
    

      

  • 相关阅读:
    第六次作业
    第五次作业1
    java第三次作业
    JAVA 第二次作业
    JAVA第一次作业
    第 十一 次作业
    第十次作业
    第九次作业
    第八次作业
    第七次作业
  • 原文地址:https://www.cnblogs.com/freexiaoyu/p/2669968.html
Copyright © 2011-2022 走看看