2016-07-05 73 views
2

我有一個C#datagridview的複選框列,其工作正常,直到我設置數據源爲空後複選框列的怪異行爲。網格崩潰,但是額外的複選框列會立即添加到原始的右側。如果我再次點擊重置按鈕,會彈出第三個複選框列。下面的代碼是對於這種類型的柱的標準:設置一個C#的datagridview數據源爲空

enter image description here

chk = new DataGridViewCheckBoxColumn(); 
dataGridView1.Columns.Add(chk); 

該圖像示出單擊重置的結果。

+0

你說它是所謂的復位,但它的唯一的事情是增加一個新列 –

+0

不知道我理解你的問題。你是說你在執行你的問題中的代碼,然後想知道爲什麼會添加另一個複選框列?在任何情況下,如果你問爲什麼*您已經寫*復位方法的行爲方式是這樣,你需要發佈其代碼。 –

+0

添加整個重置方法,以便我們可以看到它的作用 –

回答

0

如果我理解正確的問題,你所提供的代碼是所有有在復位方法,您需要先刪除舊列。

我假設你添加或者刪除之前只有一列,所以我會修改你的代碼通過索引中刪除它首先,通常你想搜索正確的指標,但這應該在你的情況下工作:

datagrid.Columns.RemoveAt(0); 
chk = new DataGridViewCheckBoxColumn(); 
dataGridView1.Columns.Add(chk);