Avatar billede iakob Nybegynder
04. december 2007 - 11:43 Der er 3 kommentarer og
1 løsning

Visning af imagefield baseret på bo-objekt og theme

Jeg er igang med at lave et lille overvågningsapplikation, der skal kunne overvåge tilstanden på andre kørende programmer i forskellige instanser.

I Page_Load kaldes en monitor for hver program, der returnerer en IList af business objekter kaldet State (altså List<State>), som beskriver tilstanden for de enkelte instanser.

State indeholder ud over et navn og en beskrivelse, en Enum StateValue, som kan have værdierne OK, Warning, Error og Unknown. Denne tilstand vil jeg gerne have vist som et billede.

Billederne har jeg navngivet stateok.gif, statewarning.gif etc og de ligger i min theme.

Efter jeg har hentet de forskellige tilstande, så populerer jeg min gridview ved at binde listen til datasource og kalde DataBind.

Mit problem er dels at State-Enum-propertien ikke bliver vist i datagridden og dels hvordan jeg i stedet for State-enum for vist det tilsvarende billede.

Jeg er kendt med DataGridView fra .net windows application, men er helt ny på asp og webpages. Jeg ved dog at mit theme virker fordi min overskrift har den rigtige farve :-)

Jeg har sat spørgsmålet til mange points, fordi jeg vil gerne hjælpes helt færdig.
Avatar billede iakob Nybegynder
04. december 2007 - 11:45 #1
Simplificeret definition af State klassen:

public enum StateValue { OK, Error, Warning, Unknown}

public class State
{
  private StateValue value;
  public StateValue Value {get;set;}
  private string name;
  public string Name {get;set;}
  private string description;
  public string Description{get;set;}
}
Avatar billede iakob Nybegynder
04. december 2007 - 11:48 #2
Page Load:
protected void Page_Load(object sender, EventArgs e)
    {
        // Test
        // MQ Table
        IList<State> mqstates = MonitorMQs();
        this.ShowGridView(this.MQgridview, mqstates);
    }

Visning af DataView
    protected void ShowGridView(GridView gridview, IList<State> states)
    {
        gridview.DataSource = states;
      // -> GØR NOGET FOR AT DER KOMMER ET BILLEDE DER VISER STATE
        gridview.DataBind();
}
Avatar billede iakob Nybegynder
04. december 2007 - 11:49 #3
Selve GridView er defineret således på aspx-siden:

  <asp:GridView EnableTheming="true" runat="server" ID="MQgridview" SkinID="gridviewSkin"></asp:GridView>
Avatar billede iakob Nybegynder
10. juli 2008 - 09:14 #4
Nå.. :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester