2012-10-09 68 views
0

enter image description here我有一個RadGridEditForm模板,其中我有checkBox和RadComboBox。RadGridEditForm中的CheckBox CheckedChange事件

所以它包含2個按鈕

1日 - 添加新記錄(這是GridEditFormInsertItem)

2階編輯(編輯現有記錄。)

我想禁用radcombobox控件時複選框是** CHECKED **** 我曾經使用'添加新記錄'但不是當我點擊**編輯按鈕它的顯示錯誤的代碼工作正常 -

Unable to cast object of type 'Telerik.Web.UI.GridEditFormItem' to type 'Telerik.Web.UI.GridEditFormInsertItem'. 

我對的CheckedChanged事件代碼

protected void chkEHalfDay_CheckedChanged(object sender, EventArgs e) 
{ 
    CheckBox chkHalfDay = (CheckBox)sender; 
    GridEditFormInsertItem item = (GridEditFormInsertItem)chkHalfDay.NamingContainer; 

     if (chkHalfDay.Checked == false) 
     { 
      ((RadComboBox)item.FindControl("rcbHalfDayType")).Enabled = false; 
     } 
     else 
     { 
      ((RadComboBox)item.FindControl("rcbHalfDayType")).Enabled = true; 
     } 
} 

請推薦我哪裏錯了。 在此先感謝。

回答

1

試試這個

protected void chkEHalfDay_CheckedChanged(object sender, EventArgs e) 
{ 
    CheckBox chkHalfDay = (CheckBox)sender; 
    //GridEditFormInsertItem item = (GridEditFormInsertItem)chkHalfDay.NamingContainer; 
    GridEditFormInsertItem item = chkHalfDay.NamingContainer as GridEditFormInsertItem; 
    if(item == null) 
    item = hkHalfDay.NamingContainer as GridEditFormItem; 

    if (chkHalfDay.Checked == false) 
    ((RadComboBox)item.FindControl("rcbHalfDayType")).Enabled = false; 
    else 
     ((RadComboBox)item.FindControl("rcbHalfDayType")).Enabled = true; 
} 

只需使用as運營商,因爲它不會提高無效轉換的任何錯誤,它會簡單地返回null您可以在下一行檢查chkHalfDay.NamingContainerGridEditFormInsertItem然後將其丟到編輯操作時的GridEditFormItem

相關問題