在 devexpress 网格视图模板详细信息行中查找控件
本文关键字:查找 控件 详细信息 devexpress 网格 视图 | 更新日期: 2023-09-27 18:31:35
我想在我的网格视图中找到控件。按 id 显示的模板详细信息行
bool IsAllAud = false;
var item = (CheckBox)VendorsGrid.Templates.DetailRow.FindControl("CBIsAllAudience");
IsAllAud = item.Checked;
if (IsAllAud)
{
}
<dx:ASPxGridView ID="rt" ClientInstanceName="rt" runat="server"
AutoGenerateColumns="false" DataSourceID="rtt" KeyFieldName="ID" Width="100%">
<SettingsDetail AllowOnlyOneMasterRowExpanded="true" />
<Columns>
<dx:GridViewDataTextColumn FieldName="Name" Caption="Name" />
</Columns>
<Templates>
<DetailRow>
<asp:CheckBox ID="CBIsAllAudience" runat="server" />
...
由于这是 DetailRow,因此需要调用 ASPxGridView.FindDetailRowTemplateControl Method
var item = VendorsGrid.FindDetailRowTemplateControl(index, "CBIsAllAudience");
在控制事件中 只需编写此代码
{
for (int i = 0; i < gvVndInvoiceDevExp.VisibleRowCount ; i++)
{
GridViewDataColumn col1 = gvVndInvoiceDevExp.Columns[0] as GridViewDataColumn;
GridViewDataColumn col2 = gvVndInvoiceDevExp.Columns[8] as GridViewDataColumn;
CheckBox chk = gvVndInvoiceDevExp.FindRowCellTemplateControl(i, col1, "chk") as CheckBox;
ASPxCheckBox chkIsVal = gvVndInvoiceDevExp.FindRowCellTemplateControl(i, col2, "chkIsVal") as ASPxCheckBox;
if (chk.Checked == true)
{
chkIsVal.Enabled = true;
}
else
{
chkIsVal.Enabled = false;
}
}
}