Вопрос

у меня есть GridView Контроль, где я, чтобы показать некоторую информацию о какой -то моей важной переменной. Эти переменные различаются во времени, и я хотел бы построить их тенденцию в таблице в качестве последнего столбца, используя Chart контроль.

Вот общий вид кода:

<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>

В моем коде вы можете найти этот тип, используемый для свойств отображения (те, которые я указал):

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;
        }

    }

ХОРОШО!

В методе загрузки этой страницы у меня есть следующее:

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();
}

Ну, как вы могли себе представить, вывод - это таблица, но моя диаграмма пуста. Как я могу действовать в файле .aspx, в разметке XHTML, в первом коде, который я показал, чтобы это произошло?

Я полагаю, что я замахиваю место в поле шаблона, некоторое выражение привязки данных, но я не знаю, что разместить там ....

Не могли бы вы мне помочь, пожалуйста?

Спасибо

PS: Обратите внимание, что я не предоставил здесь решение, дело в том, что я не знаю, как подключить данные к графике, на самом деле правильно, что диаграммы (одна на линию таблицы) ничего не показывают, потому что я сделал Не укажите какие -либо привязки выражений на странице ASPX или надлежащим образом кода в CodeBehind.

Это было полезно?

Решение

Я не знаю, есть ли удобный способ привязки данных в серии графиков непосредственно в XHTML? Но, возможно, вы могли бы просто создать событие на Gridview.rowdatabound найти управление диаграммой тут же, а затем добавить данные в серию диаграммы?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top