比较datagrid中checkbox列的现有值和修改值

时间:2012-11-05 07:20:36

标签: c# asp.net

我有datagrid,显示活动名称和复选框列。用户选中该复选框是否要选择该活动并按下提交按钮以成功添加该活动。

如果用户想要取消选中已选中的复选框,我必须进行某些验证,以检查该活动当前是否与其他任何事物相关联。

我该怎么做?

2 个答案:

答案 0 :(得分:1)

如果可以在客户端进行验证,请将模板字段添加到GridView,在模板字段中添加CheckBox并将JavaScript事件附加到其中

<asp:TemplateField HeaderText="IsActive">
    <ItemTemplate>
        <asp:CheckBox ID="chkActive" Checked='<%# Bind("IsActive") %>' runat="server" onClick="checkboxClicked(this)" />
    </ItemTemplate>
</asp:TemplateField>

处理JavaScript事件并执行验证。如果用户取消选中该复选框并且验证失败,您可以提示用户并选中JavaScript中的复选框,如下所示:

function checkboxClicked(src) {
    if (!src.checked) {
        var valid;
        //Perform validation and set a boolean value to the variable valid
        if(!valid)
            src.checked = true;
     }
}

这可能有助于您实现所需的目标。如果您需要任何其他帮助,可以发表评论。

答案 1 :(得分:0)

没有看到你的HTML标记,我可以建议你这样做......

$('#my_checkbox').click(function(){
if($(this).is(':checked'){
   // do something here
} else {
   // Perform your certain validations here..
}

}