2012-02-14 141 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