gpt4 book ai didi

c# - 检查 Datagrid 中 ItemTamplate 标签的值

转载 作者:太空宇宙 更新时间:2023-11-03 12:21:11 25 4
gpt4 key购买 nike

我有一个数据网格和 ItemTamplate,其中有 2 个标签,它们都包含一些数据。

我希望能够遍历整个 GridView 并查看是否有任何标签包含工作 Keyboarding 以及它是否确实将第二个标签的值从 Incomplete 更改为到 失败通过

这是代码。

<asp:datagrid id="dgData" runat="server" Width="658px" CellPadding="2" PageSize="2" DataKeyField="ID"
AutoGenerateColumns="False" ShowFooter="True" BorderColor="AliceBlue" OnItemDataBound="dgData_ItemDataBound">
<SelectedItemStyle ForeColor="HighlightText" BackColor="Highlight"></SelectedItemStyle>
<AlternatingItemStyle BackColor="WhiteSmoke"></AlternatingItemStyle>
<HeaderStyle Font-Bold="True" BackColor="AliceBlue"></HeaderStyle>
<FooterStyle Font-Bold="True" BackColor="AliceBlue"></FooterStyle>
<Columns>
<asp:BoundColumn DataField="ID" Visible="False"></asp:BoundColumn>
<asp:BoundColumn DataField="Name" HeaderText="" ItemStyle-VerticalAlign="Top"></asp:BoundColumn>
<asp:TemplateColumn HeaderText="Term 1" ItemStyle-Wrap="True">
<ItemTemplate>
<asp:label BorderStyle=None Visible='<%# ReverseBool(Convert.ToBoolean(DataBinder.Eval(Container, "DataItem.IsCompleteOrNot"))) %>' runat="server" ID="edit_Score" Text='<%# DataBinder.Eval(Container, "DataItem.Score" ) %>'>
</asp:label>
<asp:label BorderStyle=None Text='<%# GetCompleteIncomplete(Convert.ToInt32(DataBinder.Eval(Container, "DataItem.Score"))) %>' Visible='<%# DataBinder.Eval(Container, "DataItem.IsCompleteOrNot") %>' id="txtIsComplete" runat="server">
</asp:label>
</ItemTemplate>
</asp:TemplateColumn>

</Columns>
</asp:datagrid>

现在 c# 对服务器的调用 GetCompleteIncomplete 是 c# 中的一个方法,如果它的 1 是完整的,如果它的 0 是完整的:

protected string GetCompleteIncomplete(int iScore)
{
if (iScore == 0)
{
return "Incomplete";
}

return "Complete";
}

这会将值返回给标签并显示如下。 This is how it looks like

但我想将 InComplete/Compete 更改为仅当第一个标签是 Keyboarding 时才失败/通过,其他行可以保持 InComplete 或 Complete。

最佳答案

在您的 itemdatabound 事件中尝试以下代码:

if ((e.Item.ItemType == ListItemType.Item) ||
(e.Item.ItemType == ListItemType.AlternatingItem))
{
Label edit_Score = (Label)e.Item.FindControl("edit_Score");
Label txtIsComplete = (Label)e.Item.FindControl("txtIsComplete");

if (edit_Score.Text == "Keyboarding")
{
if (txtIsComplete.Text == "Complete")
{
txtIsComplete.Text = "Pass";
}
else if(txtIsComplete.Text == "InComplete")
{
txtIsComplete.Text = "Fail";
}
}

}

关于c# - 检查 Datagrid 中 ItemTamplate 标签的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47140958/

25 4 0