我有一个dx:ASPxGridView
(Dev express gridview),它包含HTML复选框-input type="checkbox"
控件。问题是如何在服务器端访问这些HTML复选框,以便根据条件检查这些复选框。
请建议我如何访问服务器端的这些HTML复选框。
代码图像可以在这里找到
谢谢Girish Rawat
首先,要访问服务器上的HTML元素,需要使用runat="server"属性对其进行标记。
若要访问您的复选框,请处理ASPxGridView.HtmlDataCellPrepared事件。在事件处理程序中,可以使用ASPxGridView.FindRowCellTemplateControl方法获取输入。您还需要为输入设置ID。
<dx:ASPxGridView ID="ASPxGridView1" runat="server" AutoGenerateColumns="False" OnDataBinding="ASPxGridView1_DataBinding" OnHtmlDataCellPrepared="ASPxGridView1_HtmlDataCellPrepared" KeyFieldName="ID">
<Columns>
<dx:GridViewDataCheckColumn VisibleIndex="0">
<DataItemTemplate>
<input id="check" type="checkbox" runat="server" />
</DataItemTemplate>
</dx:GridViewDataCheckColumn>
</Columns>
<Styles AdaptiveDetailButtonWidth="22"></Styles>
</dx:ASPxGridView>
protected void ASPxGridView1_HtmlDataCellPrepared(object sender, ASPxGridViewTableDataCellEventArgs e) {
HtmlInputCheckBox check = (HtmlInputCheckBox)ASPxGridView1.FindRowCellTemplateControl(e.VisibleIndex, e.DataColumn, "check");
check.Checked = GetValue((int)e.KeyValue);
}
public bool GetValue(int id) {
// your logic
return id % 2 == 0;
}