2
データグリッドがあり、ItemTamplateがあり、2つのラベルがあり、両方にデータが含まれています。Datagrid内のItemTamplateラベルの値を確認します
私は、全体のGridViewコントロールをループのことができるようにし、任意のラベルが仕事Keyboarding
が含まれている場合、それはIncomplete
からfails
またはPass
への2番目のラベルの値を変更しないかどうかを確認したいです。
ここにコードがあります。
<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
へのコールは、その0その完全であればその1その完全な場合は、それを見てC#での方法であって、
protected string GetCompleteIncomplete(int iScore)
{
if (iScore == 0)
{
return "Incomplete";
}
return "Complete";
}
しかし、最初のラベルがKeyboarding
である場合にのみ、InComplete/CompeteをFail/Passに変更する必要があります。あなたのitemdataboundイベントのコード以下