【问题标题】:Store temporary data on a DataGridView C#在 DataGridView C# 上存储临时数据
【发布时间】:2012-02-14 23:06:43
【问题描述】:

我可以让我的 datagridview 成为临时数据的容器吗?我不想直接添加我的数据我只是希望它像容器一样存储在 datagridview 中。 这可能吗?

我正在考虑一个列表框,它将用户的选择存储在一个组合框中。我不想将它直接添加到数据库中,因为数据是临时的,用户可能会更改/更新他的选择。

我有一个单独的按钮,当用户单击提交按钮时,它将添加所有这些按钮。

有什么例子吗??建议?谢谢

【问题讨论】:

    标签: c# winforms datagridview


    【解决方案1】:

    您可以将 DataGridView 绑定到对象列表。

    以下是我的测试代码(Vs2010 winform):

        public class Location
        {
            public int X { set; get; }
            public int Y { get; set; }
        }
    
        private void button1_Click(object sender, EventArgs e)
        {
              List<Location> locations1 = new List<Location>()
                {
                    new Location(){X= 100, Y = 200},
                    new Location(){X= 300, Y = 400},
                    new Location(){X= 600, Y = 500},
                    new Location(){X= 700, Y = 800}    
                };
    
              dataGridView1.DataSource = locations1;
        }
    

    如果要在DataGridView中的变化体现在datasource中。您必须绑定到类成员变量而不是局部变量。

    【讨论】:

    • 谢谢 这就是我要找的。 :))
    • 先生,如果我将数据网格的内容添加到数据库中会怎样?如何访问每一行?
    • 在我的源代码中将locations1声明为类成员变量。您在 gridview 中所做的更改将反映到变量中。然后您可以将其保存到数据库中。不过我觉得还是直接绑定数据库比较好。
    • 我不想将它直接绑定到数据库,先生,因为数据是临时的。我还将有一个按钮,可以将它们添加到数据库中。我要复制的内容就像您在购物车中添加数据的购物车,但这是暂时的
    • 我已经尝试过您的代码先生,但它给了我错误;你能举出像文本框+按钮这样的例子吗?当用户输入文本并单击一个按钮时,它会添加到数据网格中吗?
    【解决方案2】:

    是的。您必须首先将数据存储在 datagridview 可以理解的对象中。例如:

    using System.Data;
    DataTable table = new DataTable(); // <-- temp. in memory table of data
    table.Columns.Add("col1");
    table.Rows.Add("some data");
    table.Rows.Add("some more data");
    table.Rows.Add("and more");
    myDataGridView.DataSource = table;
    myDataGridView.DataBind();
    

    网格将显示一列一行数据。

    【讨论】:

    • 先生,如果我要在 datagridview 中添加多个值怎么办?
    • @rjtubera - 我更新了我的答案,向您展示如何添加更多数据(使用 table.Rows.Add();
    猜你喜欢
    • 1970-01-01
    • 2017-01-21
    • 1970-01-01
    • 2018-03-09
    • 1970-01-01
    • 2013-07-28
    • 2015-10-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多