//先在dataGridView內加入年齡欄位(非由資料庫繫結)
DataGridViewColumn colAge = new DataGridViewTextBoxColumn();
dataGridView1.Columns.Insert(9, colAge);
colAge.AutoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader;
colAge.HeaderText = "年齡";
colAge.Name = "年齡";
CellAge(); //引用下面的方法
void CellAge()
{
try
{
for (int i = 0; i < dataGridView1.RowCount; i++)
{
int m_Y1 = DateTime.Parse(dataGridView1.Rows[i].Cells["Birthday"].Value.ToString()).Year;
int m_Y2 = DateTime.Now.Year;
int m_age = m_Y2 - m_Y1;
dataGridView1.Rows[i].Cells[9].Value = m_age.ToString();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "例外資訊");
}
}
發現錯誤!!重新Load就會出現錯誤訊息了...
錯誤訊息:字串無法辨認為有效的DateTime。索引0的起點有一個未知的文字
解決:
dataGridView1.Rows[i].Cells[9].Value = m_age.ToString();
Cell[9]改成Cell["年齡"]
以欄位名來定位...可能是重新Load後有變化?
沒有留言:
張貼留言