gpt4 book ai didi

c# - 无法在网格单元格内找到控件

转载 作者:太空宇宙 更新时间:2023-11-03 15:41:11 24 4
gpt4 key购买 nike

我正在使用分层 Telerik GridView 。如果问题属于某种类型,我想隐藏展开/隐藏按钮。我试图在 Grid_ItemDatatbound 上实现这一点。

                  <CW:GridView ID="rGVEvaluationQuestions" runat="server" Width="99%" OnItemDataBound="rGVEvaluationQuestions_ItemDataBound"
OnDetailTableDataBind="rGVEvaluationQuestions_DetailTableDataBind" OnNeedDataSource="rGVEvaluationQuestions_NeedDataSource"

AllowPaging="false" ShowHeader="false" GridLines="Both">
<MasterTableView DataKeyNames="ID" AllowMultiColumnSorting="True">
<DetailTables>
<Telerik:GridTableView DataKeyNames="ID" Name="LabelQuestion" Width="100%" Height="100px">
<Columns>
<Telerik:GridTemplateColumn HeaderText="<%$Resources:LanguageResource, Edit%>" ItemStyle-Width="50px"
DataField="ID">
<ItemTemplate>
<asp:HiddenField ID="hdnEvalID" runat="server" />
<asp:HiddenField ID="hdnEvaluationQuestionID" runat="server" />
<asp:HiddenField ID="hdnEvaluationQuestionTypeID" runat="server" />
<asp:Label ID="lblQuestionNumber" runat="server"></asp:Label>
</ItemTemplate>
</Telerik:GridTemplateColumn>
<Telerik:GridTemplateColumn ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:Label ID="lblQuestion" runat="server"></asp:Label><br />
<br />
Display="Dynamic"></asp:CustomValidator></td>
</ItemTemplate>
</Telerik:GridTemplateColumn>
//Some Hidden fields and textboxex here
</Columns>
</Telerik:GridTableView>
</DetailTables>
<Columns>
<Telerik:GridTemplateColumn HeaderText="<%$Resources:LanguageResource, Edit%>" ItemStyle-Width="50px"
DataField="ID">
<ItemTemplate>
<asp:HiddenField ID="hdnEvalID" runat="server" />
<asp:HiddenField ID="hdnEvaluationQuestionID" runat="server" />
<asp:HiddenField ID="hdnEvaluationQuestionTypeID" runat="server" />
<asp:Label ID="lblQuestionNumber" runat="server"></asp:Label>
</ItemTemplate>
</Telerik:GridTemplateColumn>
<Telerik:GridTemplateColumn ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:Label ID="lblQuestion" runat="server"></asp:Label><br />
<br />
//Some Hidden fields and textboxex here
Display="Dynamic"></asp:CustomValidator></td>
</ItemTemplate>
</Telerik:GridTemplateColumn>
</Columns>
</MasterTableView>
</CW:GridView>

这背后的代码是我正在做的。

if (evalQuestionType == Coursewhere.BLL.Enums.EvaluationQuestionType.Label)
{
if (item.Cells.Count > 0)
{
item.Cells[0].Text = " ";
item.Cells[0].Enabled = true;

}

}
else
{
item.Cells[0].Text = " ";

if (item.Cells[0].Controls.Count>0)
{
item.Cells[0].Controls[0].Visible = false;
}
item.Cells[0].Enabled = false;
item.Cells[0].Style.Add("background", "#8ea3b9 none");
}

item.cell[0] 是一个具有 <input type Button> 的 td .但是我无法在后面的代码中找到它。一旦找到我想设置它的风格。我究竟做错了什么?请不要说我能找到 item.control[0] 这是一个 td。但是无法找到其中的控件。是因为它没有运行@server吗?

编辑:我发现以下代码是我在 page_prerender 上调用的。这使得展开/隐藏按钮对所有行不可见。但我希望这只发生在特定的行上。

  protected void rGVEvaluationQuestions_PreRender(object sender, EventArgs e)
{
HideExpandColumnRecursive(rGVEvaluationQuestions.MasterTableView);
}
public void HideExpandColumnRecursive(GridTableView tableView)
{
GridItem[] nestedViewItems = tableView.GetItems(GridItemType.NestedView);
foreach (GridNestedViewItem nestedViewItem in nestedViewItems)
{
foreach (GridTableView nestedView in nestedViewItem.NestedTableViews)
{
if (nestedView.Items.Count == 0)
{
TableCell cell = nestedView.ParentItem["ExpandColumn"];
cell.Controls[0].Visible = false;
cell.Text = " ";
nestedViewItem.Visible = false;
}
if (nestedView.HasDetailTables)
{
TableCell cell = nestedView.ParentItem["ExpandColumn"];
if (cell.Controls.Count > 0)
{
cell.Controls[0].Visible = true;
cell.Text = " ";
nestedViewItem.Visible = true;
}
}
}
}
}

有人可以帮助我在数据绑定(bind)函数上使用此函数的功能,以便我可以禁用/隐藏相应行的展开按钮吗?

最佳答案

我不知道为什么这不起作用。

   if (item.Cells[0].Controls.Count>0)
{
item.Cells[0].Controls[0].Visible = false;
}

终于成功了。

TableCell tccell = item.Cells[0];
if (evalQuestionType == Coursewhere.BLL.Enums.EvaluationQuestionType.Label)
{
tccell.Controls[0].Visible = true;

}
else
{
tccell.Controls[0].Visible = false;

}

关于c# - 无法在网格单元格内找到控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30206063/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com