2010-05-24 35 views
0

我在Data Dynamics ActiveReports for .NET中有一個報告。在此報告中,我以編程方式將詳細信息部分的ColumnCount屬性設置爲X.詳細信息部分有一個數據綁定文本框。有沒有辦法獲得對ActiveReports細節部分的列的編程訪問?

detail部分的ColumnDirection屬性設置爲AcrossDown,然後數據綁定機制在設置DataSource和DataMember後自動填充數據。

這裏是代碼...

Public Sub RunReport 
     Dim count As Integer = 0 

     ' ... get count 

     Detail1.ColumnCount = count 

     Me.DataSource = ds 
     Me.DataMember = ds.Tables(0).TableName 

End Sub 

該代碼工作正常,數據在整個報告中自動填充。

現在我需要修改報告並圈選或突出顯示報告中各列自動填充的項目之一。

我找不到任何方式以編程方式訪問自動生成的列,以便我可以打開邊框或繪製一個圓或其他東西。任何想法我會怎麼做?

賽斯

+0

如果我的答案不是你要找的,請在我的答案上添加一條評論,我會很樂意爲你提供任何你需要的幫助。 – 2010-05-25 21:48:48

回答

2

您可以通過設置格式事件的控件的屬性打開一個邊界。例如,如果你想設置一個文本框的邊框當其值小於零,則可能使用類似下面的代碼:

private void detail_Format(object sender, System.EventArgs eArgs) 
{ 
     if (this.TextBox1.Value < 0) { 
      this.TextBox1.Border.BottomColor = System.Drawing.Color.Blue; 
      this.TextBox1.Border.BottomStyle = BorderLineStyle.DashDot; 
      this.TextBox1.Border.LeftColor = System.Drawing.Color.Blue; 
      this.TextBox1.Border.LeftStyle = BorderLineStyle.DashDot; 
      this.TextBox1.Border.RightColor = System.Drawing.Color.Blue; 
      this.TextBox1.Border.RightStyle = BorderLineStyle.DashDot; 
      this.TextBox1.Border.TopColor = System.Drawing.Color.Blue; 
      this.TextBox1.Border.TopStyle = BorderLineStyle.DashDot; 
     } 
} 

閱讀here對邊境房產的更多信息。

在結果頁上獲取控件的位置並不容易。你可以根據一些事情來計算位置,但是我建議使用控件本身來突出顯示你想要的數據,而不是在頁面上繪圖。它會讓你的生活更輕鬆:)

如果一個圓形對你來說很重要,你可以使用ActiveReports中的「Shape」控件通過設置它的位置和基於條件的可見性來實現這一點。只要確保形狀的z順序在文本框下。使用形狀的代碼與我上面構造代碼的方式類似,但您可以設置形狀控件的「頂部/左側/寬度/高度」和「可見」屬性,而不是設置邊框屬性。有關形狀控制的更多信息是here

希望這會有所幫助。

Scott Willeke 
GrapeCity 
相關問題