[英]How to bind CheckBox in ASPxGridView EditItemTemplate
我正在使用DevExpress Asp.Net控件,在GridView中,EditTempalte必須添加復選框,必須將復選框綁定和取消綁定以及數據庫列屬性,並且在新項目上插入默認未選中的選項。
這是我的代碼。
<dx:ASPxGridView ID="ASPxGridView3" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource3"
KeyFieldName="UniqueID" Theme="Default">
<SettingsSearchPanel Visible="True" />
<Columns>
<dx:GridViewCommandColumn ShowDeleteButton="True" ShowEditButton="True" ShowInCustomizationForm="True"
ShowNewButtonInHeader="True" VisibleIndex="0">
</dx:GridViewCommandColumn>
<dx:GridViewDataTextColumn FieldName="UniqueID" ReadOnly="True" ShowInCustomizationForm="True"
Visible="False" VisibleIndex="1">
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="ResourceID" ShowInCustomizationForm="True" Visible="False"
VisibleIndex="2" ReadOnly="True">
<EditFormSettings Visible="False" />
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="ResourceName" ShowInCustomizationForm="True" VisibleIndex="3">
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="Color" ShowInCustomizationForm="True" Visible="False" VisibleIndex="4">
<EditFormSettings Visible="False" />
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="CustomField1" ShowInCustomizationForm="True" Visible="False" VisibleIndex="5">
<EditFormSettings Visible="False" />
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="category_ClientID" ShowInCustomizationForm="True"
VisibleIndex="6" Visible="False">
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="IsAvailable" PropertiesTextEdit-NullDisplayText="true"
ShowInCustomizationForm="True" VisibleIndex="7">
**<EditItemTemplate>
<dx:ASPxCheckBox ID="chkIsAvailableEdit" runat="server" Checked="true" Style="margin-left: 18px"
CheckState="Checked" Cursor="pointer" EnableDefaultAppearance="False"
EnableTheming="False">
<CheckedImage Height="26px" Url="~/images/switchon.png" Width="70px">
</CheckedImage>
<UncheckedImage Height="26px" Url="~/images/switchoff.png" Width="70px">
</UncheckedImage>
<GrayedImage Url="~/images/switchoff.png">
</GrayedImage>
</dx:ASPxCheckBox>
</EditItemTemplate>**
</dx:GridViewDataTextColumn>
</Columns>
</dx:ASPxGridView>
<asp:SqlDataSource ID="SqlDataSource3" runat="server" ConnectionString="<%$ ConnectionStrings:NCompassWebsiteConnectionString %>"
DeleteCommand="DELETE FROM [SchResources] WHERE [UniqueID] = @UniqueID"
InsertCommand="INSERT INTO [SchResources] ([ResourceID], [ResourceName], [Color], [CustomField1], [category_ClientID],
[IsAvailable]) VALUES (@ResourceID, @ResourceName, @Color, @CustomField1, @category_ClientID, @IsAvailable)"
SelectCommand="SELECT * FROM [SchResources] WHERE ([category_ClientID] = @category_ClientID)"
UpdateCommand="UPDATE [SchResources] SET [ResourceID] = @ResourceID, [ResourceName] = @ResourceName, [Color] = @Color,
[CustomField1] = @CustomField1, [category_ClientID] = @category_ClientID, [IsAvailable] = @IsAvailable WHERE [UniqueID] = @UniqueID">
<DeleteParameters>
<asp:Parameter Name="UniqueID" Type="Int32" />
</DeleteParameters>
<InsertParameters>
<asp:Parameter Name="ResourceID" Type="Int32" />
<asp:Parameter Name="ResourceName" Type="String" />
<asp:Parameter Name="Color" Type="Int32" />
<asp:Parameter Name="CustomField1" Type="String" />
<asp:SessionParameter Name="category_ClientID" SessionField="ClientID" Type="String" />
<asp:Parameter Name="IsAvailable" Type="String" />
</InsertParameters>
<SelectParameters>
<asp:SessionParameter Name="category_ClientID" SessionField="ClientID" Type="String" />
<%--<asp:Parameter DefaultValue="62" Name="category_ClientID" Type="String" />--%>
</SelectParameters>
<UpdateParameters>
<asp:Parameter Name="ResourceID" Type="Int32" />
<asp:Parameter Name="ResourceName" Type="String" />
<asp:Parameter Name="Color" Type="Int32" />
<asp:Parameter Name="CustomField1" Type="String" />
<asp:SessionParameter Name="category_ClientID" SessionField="ClientID" Type="String" />
<asp:Parameter Name="IsAvailable" Type="String" />
<asp:Parameter Name="UniqueID" Type="Int32" />
</UpdateParameters>
</asp:SqlDataSource>
只需使用內置的GridViewDataCheckColumn (專門用於顯示/編輯布爾值),而不使用GridViewDataTextColumn (默認值)即可:
<%--
<dx:GridViewDataTextColumn FieldName="IsAvailable">
</dx:GridViewDataTextColumn
--%>
<dx:GridViewDataCheckColumn FieldName="IsAvailable">
</dx:GridViewDataCheckColumn
檢查此演示。
或者,使用標准的雙向綁定表達式(Bind方法)將ASPxCheckBox與必要行的FieldName綁定:
<dx:GridViewDataTextColumn FieldName="IsAvailable">
<EditItemTemplate>
<dx:ASPxCheckBox ID="chkIsAvailableEdit" ... Value='<%#Bind("IsAvailable")'>
</dx:ASPxCheckBox>
</EditItemTemplate>
</dx:GridViewDataTextColumn>
檢查此演示。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.