Jag har en datagrid som är bunden till ett dataset. Hej, Tack för inlägget, den funktionaliteten kommer jag säkerligen att ha användning för i framtiden. Var det ingen som hade något förslag på hur detta skall åstadkommas i en windows-applikation?Sätta en färg på rad eller cell i datagrid
Jag skulle vilja kunna ändra färgen på de rader som inte uppfyller de krav som ställs på informationen i gridden.
Är det någon som vet hur man gör detta? Gärna med kod exempel då jag är ganska färsk på .NET.Sv: Sätta en färg på rad eller cell i datagrid
Du har HTML källkod som ser ut ungefär som nedan:
<code>
<asp:DataGrid id=DataGrid1 runat="server" DataSource="<%# CustomersDS1 %>"
DataMember="Customers" AutoGenerateColumns="False" DataKeyField="CustomerID">
<Columns>
<asp:TemplateColumn>
<HeaderTemplate>
<b>Company Name</b>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblCompanyName" Runat=server Text='<%#Container.DataItem("CompanyName") %>'>
</asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn>
<HeaderTemplate>
<b>Contact Name</b>
</HeaderTemplate>
<ItemTemplate>
.... osv
</Columns>
</asp:DataGrid></P>
</code>
I din "code behind" i VB-modulen kan du implementera enligt följande:
<code>
Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound
If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then
Dim drv As DataRowView = CType(e.Item.DataItem, DataRowView)
If (drv("CompanyName")) = "Microsoft" Then
e.Item.ForeColor = System.Drawing.Color.Green
End If
End If
End Sub
</code>
Hoppas detta hjälper
Micke - MicrosoftSv: Sätta en färg på rad eller cell i datagrid
Vad jag eftersökte nu var däremot för en windows-applikation inte för webben.
Jag kan också tillägga att jag vill kunna sätta färgen på valda rader då informationen redan presenteras i gridden, mao inte enbart vid själva inläsningen.
Mvh DanneSv: Sätta en färg på rad eller cell i datagrid