某天半夜,(沒錯!很悽慘的半夜!)
當我正在如火如荼的為了明天的 demo 趕程式的時候,
突然跳出了一個錯誤!
CurrentRow 是我在報表底層加的一個屬性,
用來回傳現在列印到哪一個 DataRow ,
結果現在沒辦法寫程式了,因為這個訊息會一直跳出來,
按掉了又馬上跳出來!只能直接用工作管理員把 VS 關掉...慘!
不過半夜趕程式中,腦袋不清不楚的,實在是一時想不出來為什麼會有問題丫!
明明我只寫了這樣
private DataRow
currentRow;
public DataRow
CurrentRow
{
get
{
DataRowView rv = (DataRowView)this.GetCurrentRow();
return rv.Row;
}
set
{
currentRow = value;
}
}在六點半吃完早餐後突然腦袋清醒了一下,
應該是在 design time 的時候程式就會去執行到這一段程式,
但是因為在 design time 的時候的確是還沒有東西可以回傳,
所以才會跳出這樣的錯誤!
然後又突然的想起了一行程式,
if (Site == null ||
!Site.DesignMode)
所以用這個 if 把程式包起來就可以了!修改如下!
public DataRow
CurrentRow
{
get
{
if (Site == null ||
!Site.DesignMode)
{
DataRowView
rv = (DataRowView)this.GetCurrentRow();
return rv.Row;
}
return null;
}
set
{
currentRow = value;
}
}
這樣就可以啦!
錯誤再也沒有跳出來過了!
看來寫底層屬性愛、注、意!
沒有留言:
張貼留言