This way
HTML
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField HeaderText="Approved">
<ItemTemplate>
<asp:CheckBox ID="ApprovedCheckbox" runat="server" onclick="CheckBoxCheck(this);" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Denied">
<ItemTemplate>
<asp:CheckBox ID="ApprovedCheckbox" runat="server" onclick="CheckBoxCheck(this);" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField = "Item" HeaderText = "Item" />
</Columns>
</asp:GridView>
<script type = "text/javascript">
function CheckBoxCheck(rb) {
var gv = document.getElementById("<%=GridView1.ClientID%>");
var row = rb.parentNode.parentNode;
var rbs = row.getElementsByTagName("input");
for (var i = 0; i < rbs.length; i++) {
if (rbs[i].type == "checkbox") {
if (rbs[i].checked && rbs[i] != rb) {
rbs[i].checked = false;
break;
}
}
}
}
</script>
Code
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[3] { new DataColumn("Item"), new DataColumn("Price"), new DataColumn("IsSelected", typeof(bool)) });
dt.Rows.Add("Shirt", 200, true);
dt.Rows.Add("Football", 30, true);
dt.Rows.Add("Bat", 22.5, false);
GridView1.DataSource = dt;
GridView1.DataBind();
}
}
Demo