0
我目前正試圖修改我的radgrid顯示數據的方式,方法是突出顯示超過「過期」限制的特定行。這裏有我使用的方法的一個片段:爲radgrid做條件格式時的空引用異常
ASPX
<telerik:GridBoundColumn DataField="TimeCreated" HeaderText="Posted On" ReadOnly="true" UniqueName="TimeCreated"/>
C#方法1
protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
{
GridDataItem dataItem = e.Item as GridDataItem;
string time = dataItem["TimeCreated"].Text;
DateTime timePosted = DateTime.Parse(time);
TimeSpan allowance = new TimeSpan(0, 25, 0);
DateTime overdue = timePosted.Add(allowance);
if (DateTime.Now > overdue)
{
dataItem.ForeColor = System.Drawing.Color.LightPink;
dataItem.Font.Bold = true;
}
}
C#方法2
protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
{
GridDataItem dataItem = e.Item as GridDataItem;
TimeSpan allowance = new TimeSpan(0, 25, 0);
if (DateTime.Compare(Convert.ToDateTime(dataItem["TimeCreated"].Text).Add(allowance), DateTime.Now) > 0)
{
dataItem.ForeColor = System.Drawing.Color.LightPink;
dataItem.Font.Bold = true;
}
}
C#方法3
protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
{
GridDataItem dataItem = e.Item as GridDataItem;
TimeSpan allowance = new TimeSpan(0, 25, 0);
if (DateTime.Parse(dataItem["TimeCreated"].Text).Add(allowance) > DateTime.Now)
{
dataItem.ForeColor = System.Drawing.Color.LightPink;
dataItem.Font.Bold = true;
}
}
所有這些方法都會產生相同的NullReferenceException,這對我來說是不可思議的,我希望有人能夠對此有所瞭解。感謝