問題
使用 TemplateField CheckBox繫結資料方式
解決方法
當使用CheckBox當GridView裡的TempleteField時,可以使用以下方式繫結資料來源,注意的是只能是0跟1的整數值歐!!
CheckBox裡的Checked屬性加上一句就可以了.
<asp:GridView ID="GridView1" runat="server" /> <asp:TemplateField HeaderText="啟用"> <ItemTemplate> <asp:CheckBox ID="cbLock" Enabled="True" Checked='<%# Bind("Lock") %>' runat="server" oncheckedchanged="cbLock_CheckedChanged" AutoPostBack="True" EnableViewState="False" /> </ItemTemplate> <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" /> </asp:TemplateField> </asp:GridView>另外若要取得Checkbox的資料做判斷的話,方式如下:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { //取得目前的checkbox CheckBox cb = (CheckBox)e.Row.FindControl("cbLock"); cb.Enable=false;//關閉控制項 } }
沒有留言:
張貼留言