2012-02-14 139 views
1

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

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

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

任何示例??建议?谢谢

回答

0

是的。您必须首先将数据存储在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(); 

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

+0

sir what如果我将在datagridview中添加多个值? – 2012-02-17 03:28:49

+0

@rjtubera - 我更新了我的答案,告诉你如何添加更多的数据(使用table.Rows.Add(); – 2012-02-17 05:53:03

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中的变化反映在数据源。你必须绑定到一个类成员变量而不是局部变量。

+0

谢谢这就是我要找的:)) – 2012-02-14 23:45:52

+0

先生,如果我将添加内容我的数据网格到数据库中?我怎样才能访问每一行? – 2012-02-17 02:24:17

+0

先生,这不起作用 – 2012-02-17 04:40:09