Reputation: 1877
It seems CheckBoxField won't accept an ID property, so I can't directly call the component in the code behind file.
<asp:DetailsView ID="dv" runat="server" AutoGenerateRows="False"
DataKeyNames="ID" DataSourceID="ds" DefaultMode="Insert"
OnItemInserting="dv_ItemInserting" OnItemInserted="dv_ItemInserted"
OnItemUpdated="dv_ItemUpdated" OnItemCommand="dv_ItemCommand"
EnableModelValidation="True">
<Fields>
<asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="false" ReadOnly="True" SortExpression="ID" />
<asp:CheckBoxField ID="chkMidmarket" DataField="Midmarket_Flag" HeaderText="Midmarket" SortExpression="Midmarket_Flag" runat="server" />
...
</Fields>
</asp:DetailsView>
How would I check the checkbox from the code behind file?
Upvotes: 1
Views: 11419
Reputation: 63105
In syour design view go to gridview edit columns and select the column and click convert to template field
<asp:TemplateField HeaderText="Midmarket" SortExpression="Midmarket_Flag">
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" OnCheckedChanged ="CheckBox_CheckedChanged"
Checked='<%# Bind("Midmarket_Flag") %>' Enabled="false" />
</ItemTemplate>
</asp:TemplateField>
Now you can add click event as above and your event something like below
protected void CheckBox_CheckedChanged(object sender, EventArgs e)
{
try
{
CheckBox cb = sender as CheckBox;
GridViewRow gr = cb.Parent.Parent as GridViewRow;
string key = GridView1.DataKeys[gr.DataItemIndex].Value.ToString();
}
catch (Exception exc)
{
}
}
Upvotes: 2
Reputation: 2730
use
<asp:CheckBox ID="youid" runat="server" />
this way you can access it from your code behind
youid.Checked = true;
Upvotes: 0