2014-03-05 38 views
1

使用foreach循環,我正在瀏覽我的datagridview中的所有列。我的datagridview正在從CSV文件填充。循環遍歷DataGridView列,第一列不被識別

它正確顯示所有數據。

這是foreach循環:

foreach (DataGridViewTextBoxColumn col in dgviewPreview.Columns) 
{ 
    if (col.Name.Equals("FirstColumn")) 
     MessageBox.Show(col.Name); 
} 

這是我的CSV樣本文件的程序讀取:

enter image description here

如果我刪除

如果(col.Name.Equals(「FirstColumn」))

從我的foreach循環中,顯示所有列。即使在我的條件下(例如「公司名稱」,「電子郵件」)使用FirstColumn以外的任何其他列名稱,也會正確顯示消息框。但是第一列(無論我加載到Gridview中的文件或列的名稱是什麼)永遠不會被if語句識別。我不知道我做錯了什麼。有沒有人有同樣的問題?

更新:在運行時我的當前列的屏幕截圖。 enter image description here

更新2This是我使用的CSV文件的鏈接。

+0

@GrantWinney是的,我已經做到了。我用屏幕截圖更新了我的帖子。請看一下! – Disasterkid

+0

你試過Col指數嗎?我的意思是從0到Col Count - 1? – Nilesh

+0

@Nilesh是的,我做到了。它工作並認識到0索引。但是,當我將其更改回col.Name時,它無法識別它。即使所有其他列都被識別。這可能是一件非常簡單的事情,我錯過了。我也嘗試修剪字符串以及無濟於事。 – Disasterkid

回答

0

您是否嘗試過在敏感的這樣的比較?:

if(String.Compare(col.Name, "firstcolumn", true) == 0) { ... } 
+0

是的,我有。但謝謝你的建議。 – Disasterkid

0

一些奇怪的原因,當我複製了CSV的全部內容文件到新文件(只是一個ctrl+A/ctrl+V問題得到解決的情況下, ),現在似乎正在工作。我從來沒有理解這個問題,但現在它解決了。