【问题标题】:new row doesnot add to the datagridview新行不添加到 datagridview
【发布时间】:2012-09-29 11:43:44
【问题描述】:

我是 C# 的初学者。我有一个XML file (xmlfile.xml),里面有一些文字。

在表单加载事件中,我正在读取 XML 文件并将其显示在 datagridview1mainForm 表单中。

我正在使用下面的代码来做到这一点

DataSet ds = new DataSet();
ds.ReadXml(@"D:\xmlfile.xml");
dataGridView1.DataSource = ds.Tables[0].DefaultView;
dataGridView1.Tag = ds;   /* TAG */

我有另一个表单noteForm,其中有textBox1btnSub 按钮。每当用户点击btnSub按钮时,textBox1.Text应该被添加到dataGridView1dataGridView1

我正在尝试下面的代码来做到这一点

            string strTitle;
            string[] row = new string[] { strTitle, DateTime.Now.ToString("M/d/y"), "checked" };
            _parent.dataGridView1.Tag.Tables[0].Rows.Add(row);
            _parent.dataGridView1.Rows.Add();
            _parent.dataGridView1.DataSource = _parent.dataGridView1.Tag.Tables[0].DefaultView; 

上面的代码显示错误——“当控件绑定数据时,无法以编程方式将行添加到 DataGridView 的行集合中。”

我不明白这是什么错误。请帮忙。

_parent 只是noteForm 中的mainForm 形式

【问题讨论】:

    标签: c# .net visual-studio-2010 c#-4.0 datagridview


    【解决方案1】:

    将新行添加到您的数据集 ds 而不是 dataGridView1

    ds.Tables[0].Rows.Add(row)
    

    编辑

    string strTitle;
    string[] row = new string[] { strTitle, DateTime.Now.ToString("M/d/y"), "checked" };
    DataSet ds = (DataSet)_parent.dataGridView1.Tag;
    ds.Tables[0].Rows.Add(row);
    

    【讨论】:

    • datasetmainForm 中。如何添加到subForm。我不知道请帮忙。
    • 您可以将ds设置为dataGridView1.Tag属性以便稍后访问它,或者将其声明为_parent中的公共字段
    • 我在mainFormDataSet ds = _parent.dataGridView1.Tag; 中给了dataGridView1.Tag = ds;noteForm 但在noteForm 我不知道该怎么做。(我在这里浏览了很多链接)跨度>
    • 我不明白您的问题,如果您在 noteform 中有数据集,请将行添加到其中。 (DataSet ds = (DataSet)_parent.dataGridView1.Tag)
    • 我在noteForm 中没有数据集,但我现在添加了。它显示错误“找不到表 0”。 .我已经通过一个链接说要使用数据阅读器。请建议我该怎么做。
    猜你喜欢
    • 2011-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-28
    • 2014-04-14
    • 1970-01-01
    相关资源
    最近更新 更多