У меня есть сетка.сортировать сетку на основе forecolor строки
Я меняю цвет некоторых строк на красный в gridview на основе логики в командном событии строки.
Теперь я хотел бы отсортировать вид сетки таким образом, чтобы цветные строки отображались в верхней части сетки. Есть ли способ, которым я могу это сделать. ? У меня есть код ниже:
Aspx:
<asp:GridView ID="gvMain" runat="server" ShowFooter="true"OnRowCommand="gvMain_RowCommand">
<Columns>
<HeaderStyle Width="15%"></HeaderStyle>
</asp:TemplateField>
<asp:TemplateField HeaderText="Std" SortExpression="Std" >
<ItemTemplate>
<asp:Label ID="lblStd" runat="server" Text='<%#Eval("Std") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList Width="200" runat="server" id="cboStd" Font-Size="7pt" Height="12pt">
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Dept" SortExpression="Dept" >
<ItemTemplate>
<asp:Label ID="lblDept" runat="server" Text='<%#Eval("Dept") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList Width="100" runat="server" id="cboDept" Font-Size="7pt" Height="12pt">
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
aspx.cs
protected void gvMain_RowDataBound(object sender, GridViewRowEventArgs e)
{
try
{
List<StdMap> lstStd = null;
if (gvMain.EditIndex == e.Row.RowIndex)
{
lstStd = Service.GetDetails();
if (e.Row.RowType == DataControlRowType.DataRow)
{
lstStd = Service.GetDetails();
ReportMap row = ((ReportMap)e.Row.DataItem);
if ("condition to change color to red ")
{
e.Row.Cells[1].ForeColor = System.Drawing.Color.Red;
}
else
{
}
row = null;
}
}
catch (Exception ex)
{
}
}
Что я должен сделать, чтобы иметь все строки с ForeColor красным появляться на верхней части сетки зрения?
Так что же фактический 'если («условие, чтобы изменить цвет на красный»)' выглядеть ...? – MethodMan
Как выглядит ваш источник данных? Сможете ли вы добавить флаг в каждую из этих строк? – Sam
Я бы сортировал его с помощью SQL, а затем представил его в вашей сетке. – briskovich