0
我有一個GridView綁定到我手動創建的dataTable。 GridView和dataTable都包含2列,Name和isBusy。我的GridView看起來像這樣從ASPX的CheckBox列中編輯/訪問數據:GridView - c#
<Columns>
<asp:BoundField HeaderText="Name" DataField="Name" SortExpression="Name">
</asp:BoundField>
<asp:CheckBoxField DataField="isBusy" HeaderText="Busy" SortExpression="isBusy" />
</Columns>
工作正常,除非Busy列是不可編輯的,除非您將特定的行設置爲編輯模式。我需要檢查整個複選框。所以我轉換柱的模板,所以列是這樣的:
<Columns>
<asp:BoundField HeaderText="Name" DataField="Name" SortExpression="Name">
</asp:BoundField>
<asp:TemplateField HeaderText="Busy" SortExpression="isBusy">
<ItemTemplate>
<asp:CheckBox ID="isBusy" runat="server" Checked='<%# Eval("isBusy") %>' oncheckedchanged="CheckBoxBusy_CheckedChanged" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
現在,這將引發一個運行時錯誤:
System.InvalidCastException was unhandled by user code
Message="Specified cast is not valid."
Source="App_Web_zzjsqlrr"
StackTrace:
at ASP.projects_aspx.__DataBinding__control24(Object sender, EventArgs e) in c:\Project\Users.aspx:line 189
at System.Web.UI.Control.OnDataBinding(EventArgs e)
at System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding)
at System.Web.UI.Control.DataBind()
at System.Web.UI.Control.DataBindChildren()
InnerException:
任何想法,爲什麼發生這種情況?我需要的下一步是知道如何設置和獲取複選框的狀態(無法找到如何手動檢查複選框)。
難道你不能只通過從特定列中獲取複選框來檢查? – Ruben 2011-09-09 10:13:44