0
我有一個這樣的表。c#從dataGridView打印檢查行的單元
CheckBoxColumn Name ID
--------------------------
false John 01
true Peter 02
true Steve 03
我想只打印標記的單元格行分離。
結果必須是這樣的:
Peter
02
Steve
03
複選框列是「編輯DataGridView的選擇」添加。
我在這裏找到一個類似的解決方案,但不是這樣的。我用它,但效果不好。我想請求幫助以獲得正確的代碼。 我的代碼:
var allCheckedRows = this.dataGridView1.Rows.Cast<DataGridViewRow>()
.Where(row => (bool?)row.Cells[0].Value == true)
.ToList();
foreach (var row in allCheckedRows)
{
e.Graphics.DrawString(dataGridView1.Rows[1].Cells[1].FormattedValue.ToString(),this.dataGridView1.Font, new SolidBrush(this.dataGridView1.ForeColor), new Point(0, 10));
e.Graphics.DrawString(dataGridView1.Rows[1].Cells[2].FormattedValue.ToString(),this.dataGridView1.Font, new SolidBrush(this.dataGridView1.ForeColor), new Point(20, 200)); ;
e.Graphics.DrawString(dataGridView1.Rows[2].Cells[1].FormattedValue.ToString(), this.dataGridView1.Font, new SolidBrush(this.dataGridView1.ForeColor), new Point(0, 30));
e.Graphics.DrawString(dataGridView1.Rows[2].Cells[2].FormattedValue.ToString(), this.dataGridView1.Font, new SolidBrush(this.dataGridView1.ForeColor), new Point(20, 230)); ;
}
現在的結果讓所有的時間只有第一排和第二排不檢查行。
任何人都可以幫助我得到正確的結果嗎?
Thx提前!
我認爲它可以與「檢查狀態」檢查。
結果必須是!
如果你有空例外然後進行調試,看看空的來源。 – tzachs
http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how-do-i-fix-it – tzachs
因此,將該行更改爲'if(checkedRow == null ||(bool? )checkedRow.Cells [0] .Value!= true)continue; //如果沒有選中,則跳過該行並檢查它是否有效。 – tzachs