Frage

Ich habe ein GridView Kontrollieren Sie, wo ich einige Informationen zu einer wichtigen Variablen von mir vorzeige. Diese Variablen variieren rechtzeitig und ich möchte ihren Trend in der Tabelle als letzte Spalte mit a zeichnen Chart Kontrolle.

Hier ist eine generische Ansicht des Codes:

<asp:GridView runat="server" ID="Variables_GridView" CssClass="grid" AutoGenerateColumns="false" Width="100%">
   <FooterStyle BackColor="White" ForeColor="#000066" />
   <HeaderStyle CssClass="gridheader" />
   <RowStyle ForeColor="#000066" />
   <SelectedRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White" />
   <SortedAscendingCellStyle BackColor="#F1F1F1" />
   <SortedAscendingHeaderStyle BackColor="#007DBB" />
   <SortedDescendingCellStyle BackColor="#CAC9C9" />
   <SortedDescendingHeaderStyle BackColor="#00547E" />
   <Columns>
      <asp:BoundField DataField="VariableName" HeaderText="Name" />
      <asp:BoundField DataField="VariableType" HeaderText="Type" />
      <asp:BoundField DataField="VariableDescription" HeaderText="Description" />
      <asp:TemplateField HeaderText="Latest values">
         <ItemTemplate>
            <asp:Chart ID="Values_Chart" runat="server" Width="150" Height="50">
               <Series>
                  <asp:Series Name="Values_Series" XAxisType="Primary" XValueType="Int32" ChartType="Line"></asp:Series>
               </Series>
               <ChartAreas>
                  <asp:ChartArea Name="Values_ChartArea"></asp:ChartArea>
               </ChartAreas>
            </asp:Chart>
         </ItemTemplate>
      </asp:TemplateField>
   </Columns>
</asp:GridView>

In meinem Codebehind finden Sie diesen Typ, den für die Zuordnung von Eigenschaften verwendet werden (die ich angegeben habe):

public class VariableRepresentation {

        private string variableName;

        private string variableType;

        private string variableDescription;

        private float[] variableValues;

        public string VariableName {
            get { return this.variableName; }
            set { this.variableName = value; }
        }

        public string VariableType {
            get { return this.variableType; }
            set { this.variableType = value; }
        }

        public string VariableDescription {
            get { return this.variableDescription; }
            set { this.variableDescription = value; }
        }

        public float[] VariableValues {
            get { return this.variableValues; }
            set { this.variableValues = value; }
        }

        public VariableRepresentation(string name, string type, string description) {
            this.variableName = name;
            this.variableType = type;
            this.variableDescription = description;
        }

        public VariableRepresentation(string name, string type, string description, float[] initialValues) : this(name, type, description) {
            this.variableValues = initialValues;
        }

    }

OK!

In der Lademethode dieser Seite habe ich Folgendes:

protected void Page_Load(object sender, EventArgs e) {
   VariableRepresentation[] vars = new VariableRepresentation[6];
   vars[0] = new VariableRepresentation("Variable 1", 
      "Type 1", "A generic variable", new float[] { 11, 12, 13, 14, 11, 20 });
   vars[1] = new VariableRepresentation("Variable 2", 
      "Type 2", "A generic variable", new float[] { 11, 12, 13, 14, 11, 20 });
   vars[2] = new VariableRepresentation("Variable 3", 
      "Type 3", "A generic variable", new float[] { 11, 12, 13, 14, 11, 20 });
   vars[3] = new VariableRepresentation("Variable 4", 
      "Type 1", "A generic variable", new float[] { 11, 12, 13, 14, 11, 20 });
   vars[4] = new VariableRepresentation("Variable 5", 
      "Type 2", "A generic variable", new float[] { 11, 12, 13, 14, 11, 20 });
   vars[5] = new VariableRepresentation("Variable 6", 
      "Type 3", "A generic variable", new float[] { 11, 12, 13, 14, 11, 20 });
   this.Variables_GridView.DataSource = vars;
   this.Variables_GridView.DataBind();
}

Nun, wie Sie sich vorstellen können, ist die Ausgabe eine Tabelle, aber mein Diagramm ist leer. Wie kann ich in der .aspx -Datei im XHTML -Markup, dem ersten Code, den ich gezeigt hat, handeln, um dies zugelassen zu lassen?

Ich nehme an, ich schaue den Platz im Vorlagenfeld, einige Datenbindungsausdruck, aber ich weiß nicht, was ich dort platzieren soll ....

Kannst du mir bitte helfen?

Vielen Dank

PS: Bitte beachten Sie, dass ich hier keine Lösung angegeben habe. Es ist wichtig, dass ich nicht weiß, wie ich die Daten mit dem Diagramm verbinden soll. Tatsächlich ist es richtig, dass die Diagramme (eine pro Tabellenzeile) nichts zeigen, weil ich es getan habe Geben Sie weder Bindungsausdrücke auf der ASPX -Seite noch ein ordnungsgemäßes Stück Code in CodeBehind an.

War es hilfreich?

Lösung

Ich weiß nicht, ob es eine bequeme Möglichkeit gibt, Daten direkt in XHTML in Diagrammreihen zu binden? Aber vielleicht könnten Sie einfach ein Ereignis auf GridView erstellen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top