2010-03-11 5 views
6

Ich habe ein Diagramm erstellt mit MS-Diagramm wie das folgende Bild. Wie Sie sehen können, sind die vertikalen Linien mit dem Wert des oberen Rands jedes Balkens vermischt.ASP.NET mit MS Chart deaktivieren Sie die vertikale Linie

alt text http://img46.imageshack.us/img46/3720/chartimgaxd.png

Hier ist das Mark-up für die Grafik:

 <asp:Chart ID="chtNBAChampionships" runat="server"> 
    <Series> 
     <asp:Series Name="Championships" YValueType="Int32" ChartType="Column" ChartArea="MainChartArea" IsValueShownAsLabel="true"> 
     <Points> 
      <asp:DataPoint AxisLabel="Celtics" YValues="17" /> 
      <asp:DataPoint AxisLabel="Lakers" YValues="15" /> 
      <asp:DataPoint AxisLabel="Bulls" YValues="6" /> 
      <asp:DataPoint AxisLabel="Spurs" YValues="4" /> 
      <asp:DataPoint AxisLabel="76ers" YValues="3" /> 
      <asp:DataPoint AxisLabel="Pistons" YValues="3" /> 
      <asp:DataPoint AxisLabel="Warriors" YValues="3" /> 

     </Points> 
     </asp:Series> 
    </Series> 
    <ChartAreas> 
     <asp:ChartArea Name="MainChartArea"> 
     </asp:ChartArea> 
    </ChartAreas> 
</asp:Chart> 

ich das Display nicht die vertikale Linie will, weil es mit dem Wert nach oben auf der Oberseite der einzelnen Balken messed ist. Wie kann ich die vertikale Linie deaktivieren?

Vielen Dank.

Antwort

4

Ich weiß nicht, die spezifische ASP-Syntax, aber hier ist der VB.NET-Code, den Trick:

Dim gd As New System.Windows.Forms.DataVisualization.Charting.Grid 
gd.LineWidth = 0 

myChart.ChartAreas("MainChartArea").AxisX.MajorGrid = gd 

C# Version bei Bedarf:

System.Web.UI.DataVisualization.Charting.Grid gd = new System.Web.UI.DataVisualization.Charting.Grid(); 
gd.LineWidth = 0; 

myChart.ChartAreas[0].AxisX.MajorGrid = gd; 

Wie Sie sehen können Sie können die Gitterlinie nicht einfach ausschalten, sondern müssen die Breite auf 0 setzen. Das MinorGrid kann auf die gleiche Weise ausgeblendet werden.

+0

Yeap, dass der Trick Dies könnte. Vielen Dank. –

+1

Das funktioniert, aber das MajorGrid mit der 'Enabled' -Eigenschaft zu deaktivieren, ist wahrscheinlich der beste Weg, dies zu tun. – arviman

+0

@arviman, zum Zeitpunkt des Postings hat das Setzen der Eigenschaft Enabled auf false die Gitterlinie nicht wirklich deaktiviert oder abgeschaltet. Können Sie bestätigen, dass sich dieses Verhalten in den dazwischen liegenden Monaten geändert hat? – Stewbob

1

Das Problem wurde behoben. Vielen Dank.

Unten ist die C# -Code ....

var gd = new System.Web.UI.DataVisualization.Charting.Grid(); 
gd.LineWidth = 0; 
Chart1.ChartAreas[0].AxisX.MajorGrid = gd; 
11

einfache Art und Weise:

Chart1.ChartAreas[0].AxisX.MajorGrid.Enabled = false; 
1

einfachste Weg, den folgenden Code in Diagrammladeereignis.

protected void Chart1_Load(object sender, EventArgs e) 
{ 
    Chart1.ChartAreas[0].AxisX.MajorGrid.Enabled = false; 
    Chart1.ChartAreas[0].AxisY.MajorGrid.Enabled = false; 

} 
0

von der Quelle arbeiten

<ChartAreas> 
    <asp:ChartArea Name="ChartArea1"> 
     <AxisX> 
       <MajorGrid LineWidth="0" /> 
     </AxisX> 
    </asp:ChartArea> 
</ChartAreas>