我在我的winform
上有一個datagridview
,它從我的數據庫返回一個搜索結果。搜索返回後,我想刪除指定列中的空行。 下面是一個例子:刪除指定列上包含空值的行
讓我們說,我想刪除這對類型#2
列空值的行。
我完全卡住了。我應該怎麼做?
我在我的winform
上有一個datagridview
,它從我的數據庫返回一個搜索結果。搜索返回後,我想刪除指定列中的空行。 下面是一個例子:刪除指定列上包含空值的行
讓我們說,我想刪除這對類型#2
列空值的行。
我完全卡住了。我應該怎麼做?
var rowsNull = (from a in dataGridView1.Rows.Cast<DataGridViewRow>()
where a.Cells[2].Value == null
select a).ToList();
foreach (DataGridViewRow item in rowsNull)
{
dataGridView1.Rows.RemoveAt(item.Index);
}
它拋出InvalidOperationException,類似於「它不可能刪除未確認的行」,在dataGridView1.Rows.RemoveAt(item.Index); 一個問題:電池實際上是一列或其所代表的行和列的集合? – Mudkip
我的回答是正確的,但你應該按照這個[刪除行後](http://stackoverflow.com/questions/1560559/c-sharp-how-do-i-refresh-datagridview-after-removing-rows)或[DataGridView.Rows.RemoveAt(INT指數)](http://stackoverflow.com/questions/7508624/datagridview-rows-removeatint-index-doesnt-remove-row-in-windows-form) – spajce
這工作完全適合我!謝謝。使用.remove(row)對我無法正常工作。 – Perfection
我試圖從這個鏈接修改的第一個答案:http://stackoverflow.com/questions/2824576/how-to-remove-row-which-has-one-or-more-empty - 或 - null-cell 問題是,我無法找到任何選項來指定列。任何想法? ps:這段代碼不適合我的問題,因爲每一行都有一個空值,所以它會刪除所有記錄。 – Mudkip
好吧,這是可選的或必要的刪除所有的列'null'?哪裏想在'datagridview'中刪除或從'DatagridViewRow'刪除到數據庫? – spajce
我不打算刪除所有列中的所有行,只是在一個列中(例如我上面說過的,例如Type#2或Ability#1)。我想直接在datagridView中刪除它,因爲我沒有將搜索結果存儲在任何數據庫的表中。 – Mudkip