Убедитесь, что вы начали с вашего количества отключено. Я предполагаю, что это TextBox:
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="checkbox1" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:TextBox ID="quantity" runat="server" Enabled="false" />
</ItemTemplate>
</asp:TemplateField>
Добавьте этот фрагмент javascript на свою страницу:
<script type="text/javascript">
function ChangeQuantityEnable(id, enable) {
document.getElementById(id).disabled = !enable;
}
</script>
Затем в обработчике событий RowDataBound для вашего вида сетки добавьте
if (e.Row.RowType == DataControlRowType.DataRow)
{
CheckBox chk = (CheckBox)e.Row.FindControl("checkbox1");
TextBox txt = (TextBox)e.Row.FindControl("quantity");
chk.Attributes["onclick"] = string.Format("ChangeQuantityEnable('{0}', this.checked);", txt.ClientID);
}