我有一个网格,有一个模板领域,把一个核对箱作为领域之一。
<asp:TemplateField HeaderText="Confirm Driver Details" FooterText="Confirm Driver Details">
<ItemTemplate>
<asp:CheckBox ID="chkConfirmDetails" runat="server" MaxLength="100" Width="50px" Enabled="false" Checked="true"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateField>
起初,这项检查没有进行。
用户上载一个文件,装入物体,然后输入电网。 关于罗达塔博迪活动,对数据进行了一些验证。 在某些情况下,如果部分验证失败,我想使检查箱能够安装,不打上标记。
CheckBox chkConfirmDetails = (CheckBox)e.Row.Cells[e.Row.Cells.Count - 2].FindControl("chkConfirmDetails");
//If this is enabled then we just need to check whether it is ticked or not
if (!chkConfirmDetails.Enabled)
{
if (!ValidateDriver(_uploadData.DriverData[e.Row.DataItemIndex], out driverValidationMessage))
{
Label label = new Label();
label.Text = "Details of this Driver cannot be found<br />Please double-check to see if the Driver Number, Date of Birth and PPSN are entered correctly<br />If you are sure you have the correct details entered tick this box to confirm";
e.Row.Cells[e.Row.Cells.Count - 2].Controls.Add(label);
e.Row.Cells[e.Row.Cells.Count - 2].BackColor = System.Drawing.Color.Yellow;
((TableRow)e.Row.Cells[e.Row.Cells.Count - 2].Parent).BackColor = System.Drawing.Color.Red;
chkConfirmDetails.Enabled = true;
chkConfirmDetails.Checked = false;
_numberOfInvalidCells++;
}
}
检查箱所有工作都得到罚款,而且没有计算。
用户然后可以选择打上盒子,确认细节正确,重新打字。 在数据网各行各有一顿,用户可点击履行这一职能。 因此,当用户点击验证字典时,上述代码被再次命名。 这一次检查箱能够使用,并且可能无法根据用户所做的情况加以衡量。
然而,当我通过采用“FindControl”方法查阅检查箱时,它仍然表现出“无能力”和“检查”(即使它能够做到,也没有按表格进行核对)。
谁能解释为什么会发生这种情况,以及如何使检查箱的实际状况?
EDIT
查阅请求。 表格.AllKeys数据,对电网格中大多数其他模板项目(文本箱和投放者)具有关键意义,但不是检查箱或验证的纽克