2011-06-24 129 views
2

我有一个GridView从我的SQL数据库中的表中取回数据。我的数据库中有一个复选框字段设置为BIT数据值。我需要能够从asp.net中的表中选择一行(一次只能选择一行),以便接受或拒绝采购订单。asp.net复选框

到目前为止,我有以下代码

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

这是刚刚拉了回来,列“复选框”都有一个复选框值的事实,而不是让我选择它。我所见过的所有演示都使用了datagrid视图并在其中插入了一个复选框,但是,我似乎无法将数据库中的字段添加到此处。

任何帮助,欢迎

回答

0

GridView控件默认为ItemMode它不允许编辑。您必须添加编辑命令并切换到EditMode,然后您的复选框应该可编辑。

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

或者,你可以把它TemplateField,使其即使在ItemMode编辑。

0

尽管这是一个复选框字段,但在默认情况下,GridView中的行是不可编辑的。我总是这样处理的方法是使用TemplateField

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

然后,如果你想一次只选择一个排,使用这样的事情(在jQuery 1.6):

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

Working Demo