おはよう/午後の皆さん
現在使用している利用規約の現在のバージョンを表示するASP:グリッドがあります/グリッドの最初の行を使用しているのは常に現在使用しているものであり、その行を強調表示する必要がありますが、強調表示しようとすると問題が発生します
ここにasp:gridviewがあります
<asp:GridView runat="server" ID="grvTermsAndConditions" AutoGenerateColumns="false"
OnRowDataBound="grvTermsAndConditions_rowDataBound" Style="margin-bottom: 20px;">
<Columns>
<asp:TemplateField HeaderText="CurrentVersion">
<ItemTemplate>
<asp:Label ID="lblVersion" CssClass="gvItem" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.CurrentVersion") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Added">
<ItemTemplate>
<asp:Label ID="lblDateAdded" CssClass="gvItem" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.Added") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="CreatedBy">
<ItemTemplate>
<asp:Label ID="lblCreatedBy" CssClass="gvItem" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.CreatedBy") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
これは、最初の行を取得しようとしているコードの背後にあり、色は赤です
protected void grvTermsAndConditions_rowDataBound(Object sender, GridViewRowEventArgs e)
{
for (int i = 0; i < grvTermsAndConditions.Rows.Count; ++i )
{
if (i == 0)
{
e.Row.CssClass = "gvRowRed";
e.Row.Cells[0].CssClass = "white";
e.Row.Cells[1].CssClass = "white";
}
}
}
しかし、これを実行するたびに、2行目が色付きます?!?!
どんな助けでも大歓迎です。