【问题标题】:How to send datagrid data into a xml file如何将datagrid数据发送到xml文件
【发布时间】:2020-01-08 16:07:50
【问题描述】:

我正在尝试将 Datagrid 中的数据发送到 XML 文件中,但出现以下错误:

  • datagrid 在第一个 for 语句中不包含“HeaderText”的定义
  • datagrid 在 foreach 中不包含“行”的定义 声明
  • datagrid 不包含第二个单元格的定义 声明

这是我的代码:

private void sendgrid(object sender, RoutedEventArgs e)
{           
    DataTable dt = new DataTable();
    for (int i = 1; i < realdatagrid.Columns.Count + 1; i++)
    {
        DataColumn column = new DataColumn(realdatagrid.Columns[i - 1].HeaderText);
        dt.Columns.Add(column);
    }
    int ColumnCount = realdatagrid.Columns.Count;
    foreach (DataGridRow dr in realdatagrid.Rows)
    {
        DataRow dataRow = dt.NewRow();
        for (int i = 0; i < ColumnCount; i++)
        {
            dataRow[i] = dr.Cells[i].Text;
        }
    }
    
    DataSet ds = new DataSet();
    ds.Tables.Add(dt);
    XmlTextWriter newXml = new XmlTextWriter("C:/newXML.xml", Encoding.UTF8);
    ds.WriteXml(newXml);
}

【问题讨论】:

  • 为什么需要,实际过程是什么?
  • 这能回答你的问题吗? Convert DataTable to XML file and viceversa
  • 您使用的是DataGrid 还是DataGridView,这也不适用于WPF。你需要寻找Header...你把两者搞混了吗?
  • 我正在使用 DataGridVeiw
  • 你做错了。整个 WPF 体系结构是围绕数据绑定构建的,您应该将 DataGrid 绑定到视图模型中的数据,从而在模型层中公开数据。您的模型层是您序列化到 XML 中的内容,而不是 DataGrid 本身。

标签: c# xml wpf datagrid


【解决方案1】:

您所做的是在将数据发送到 xml 文件之前从数据库中获取数据 使用 wpf 控件将无法正常工作 这段代码会做得很好

try
        {
            connn.Open();
            crmd = new SqlCommand("Select * From a_table_in_the_database", connn);
            readdr = crmd.ExecuteReader();
            DataSet ds = new DataSet();                
            DataTable dt = new DataTable();
            dt.Load(readdr);                
            realdatagrid.ItemsSource = dt.DefaultView;
            connn.Close();

            //writing the xml file                
            TextWriter write = new StreamWriter(@"C:\XML\see.xml");
            dt.WriteXml(write);
        }
        catch (Exception ex)
        {
            notify.IsOpen = true;
            showing.Text = ex.Message;
        }      

【讨论】:

    猜你喜欢
    • 2020-10-12
    • 2019-12-08
    • 2021-11-16
    • 1970-01-01
    • 1970-01-01
    • 2021-09-19
    • 2020-06-01
    • 2020-03-23
    • 2021-09-16
    相关资源
    最近更新 更多