Saar's answer did not work for me, because even though the binding should return a true or false, the interpreter could not actually convert the condition result to a Boolean value.
So instead, I used an explicit choice of Boolean
values:
<asp:TemplateField HeaderText="Acconto Aut." >
<ItemTemplate>
<asp:Label ID="lbl" runat="server" Text='<%# Bind"AccontoAutorizzato") %>'
Visible='<%# ((int)(Eval("StatoID")) < 2) ? Convert.ToBoolean(0) : Convert.ToBoolean(1) %>' />
</ItemTemplate>
</asp:TemplateField>
I hope this makes it easier for others struggling with the Boolean error when applying it to a Visible property.