2013-02-20 35 views
7

Tôi muốn đọc dữ liệu từ một cột của chế độ xem dữ liệu. Datagridview của tôi chứa nhiều cột nhưng tôi muốn đọc tất cả các ô nhưng chỉ từ một cột. Tôi đã đọc tất cả các cột sử dụng mã này:cách đọc dữ liệu từ một cột của datagridview

foreach (DataGridViewColumn col in dataGridView1.Columns) 
     col.Name.ToString(); 

Nhưng tôi muốn đọc tất cả ô từ cột cụ thể.

+0

'foreach (var tế bào trong col.Cells)' điều đó có hiệu quả không? – Nolonar

+0

col không chứa định nghĩa cho ô. –

Trả lời

12

Có lẽ điều này giúp quá. Để nhận một ô:

string data = (string)DataGridView1[iCol, iRow].Value; 

Sau đó, bạn có thể chỉ cần lặp các hàng và cột.

Documentation.

+0

DataGridView1 không chứa định nghĩa cho mục. –

+0

@SumitGoyal Rất tiếc, đã chỉnh sửa – SysDragon

+0

mã hmm.this này đúng ... –

16

Hãy thử điều này

string data = string.Empty; 
int indexOfYourColumn = 0; 
foreach (DataGridViewRow row in dataGridView1.Rows) 
    data = row.Cells[indexOfYourColumn].Value; 
+1

mã này sẽ đọc tất cả các ô không phải là ô cột cụ thể. –

+1

@SumitGoyal: Mã này đi qua mỗi hàng và đọc giá trị từ cột được chỉ định, đó là những gì bạn đã yêu cầu ... – Pondidum

2

thử này

foreach (DataGridViewRow row in dataGridView1.Rows) 
     { 
      foreach (DataGridViewCell cell in row.Cells) 
      { 
       if (cell.ColumnIndex == 0) //Set your Column Index 
       { 
       //DO your Stuff here.. 
       } 
      } 
     } 

hoặc cách khác

 foreach (DataGridViewColumn col in dataGridView1.Columns) 
      { 
       if (col.Name == "MyColName") 
       { 
       //DO your Stuff here.. 
       } 
      } 
0

Để có được giá trị của ô nhấp:

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) 
    { 
     textBox1.Text = dataGridView1[e.ColumnIndex, e.RowIndex].Value.ToString(); 
    } 
Các vấn đề liên quan