2010-03-11 4 views
6

Tôi có biểu đồ được tạo bằng Biểu đồ MS như hình dưới đây. Như bạn có thể thấy các đường thẳng đứng bị sai lệch với giá trị của đầu mỗi thanh.ASP.NET với Biểu đồ MS vô hiệu hóa đường thẳng đứng

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

Đây là mức tăng giá cho đồ thị:

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

Tôi không muốn hiển thị các đường thẳng đứng vì nó là điều sai lầm với giá trị trên đầu trang của mỗi thanh. Làm thế nào tôi có thể vô hiệu hóa đường thẳng đứng?

Cảm ơn bạn.

Trả lời

4

Tôi không biết cú pháp ASP cụ thể, nhưng đây là mã VB.NET rằng hiện các trick:

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

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

phiên bản C# nếu cần thiết:

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

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

Như bạn có thể nhìn thấy , bạn không thể chỉ cần tắt gridline, bạn phải thiết lập chiều rộng của nó là 0. MinorGrid có thể được ẩn theo cùng một cách.

+0

Yeap, mà hiện các trick. Cảm ơn bạn. –

+1

Tính năng này hoạt động nhưng vô hiệu hóa MajorGrid bằng thuộc tính 'Đã bật' có lẽ là cách tốt nhất để thực hiện. – arviman

+0

@arviman, tại thời điểm đăng bài, đặt thuộc tính Bật thành false không thực sự tắt hoặc tắt đường lưới. Bạn có thể xác nhận nếu hành vi này đã thay đổi/được khắc phục trong các tháng can thiệp không? – Stewbob

1

Điều này giải quyết được vấn đề. Cảm ơn.

Dưới đây là C# mã ....

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

cách đơn giản:

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

Cách đơn giản nhất, hãy đặt đoạn mã sau trong trường hợp tải bảng xếp hạng.

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

} 
0

Điều này có thể làm việc từ nguồn

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