开发者

asp.net checkbox

开发者 https://www.devze.com 2023-03-15 16:55 出处:网络
I have a gridview pulling back data from a table in my SQL database. I have a checkbox field in my database set to BIT data value. I need to be able to select a row from the table in asp.net (only one

I have a gridview pulling back data from a table in my SQL database. I have a checkbox field in my database set to BIT data value. I need to be able to select a row from the table in asp.net (only one at a time) in order to accept or decline a purchase order.

So far i have the following code

<asp:CheckBoxField DataField="CheckBox" HeaderText="Select" Visible="true" ReadOnly="false" />

which is just pulling back the fact that the column "checkbox" has a checkbox开发者_StackOverflow value and not allowing me to select it. All of the demonstrations i have seen of this have been using the datagrid view and inserting a checkbox into there, however, i cant seem to add the fields from my database to this.

Any help welcome


The gridview defaults to ItemMode where it does not allow editing. You'll have to add an edit command and switch to EditMode and then your check box should be editable.

 <Columns>
       ...
       <asp:CommandField ShowEditButton="True" />
       ...
 </Columns>

Alternatively, you can make it a TemplateField and make it editable even in ItemMode.


This is by design as, despite being a checkbox field, the rows in a GridView are uneditable by default. The way I've always handled this is with a TemplateField:

<asp:TemplateField HeaderText="Select">
<ItemTemplate>
<asp:CheckBox runat="server" ID="chkSelect" Checked='<%# Eval("Select") %>' />
</ItemTemplate>
</asp:TemplateField>

Then, if you want to only select one row at a time, use something like this (in jQuery 1.6):

var checkboxes = $('input[type="checkbox"][name$="chkSelect"]');
checkboxes.click(function() {
    checkboxes.not(this).prop("checked", false);
});

Working Demo

0

精彩评论

暂无评论...
验证码 换一张
取 消