2016-03-30 8 views
0

リスト&を統合するためのドキュメントを検索しています。レポートにドリルダウンします。リストとラベルを検索ドリルダウンのドキュメントまたはサンプル

公式の文書は、私の目には本当に悪いです。彼らのサポートからいくつかのコードスニペットが得られましたが、型の指定されていないデータとコメントはありません。

object[] restrictions = new Object[] { null, null, null, "TABLE" }; 
DataTable table = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, restrictions); 

OleDbDataAdapter dataAdapter = new OleDbDataAdapter(new OleDbCommand("SELECT * FROM [" + tableName + "] WHERE OrderID > 11040", onn)); 

object[] restrictions1 = new Object[] { null, null, null, null }; 
DataTable table1 = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Foreign_Keys, restrictions1); 

ds.Relations.Add(new DataRelation(relationName, ds.Tables[parentTable].Columns[parentCol], ds.Tables[childTable].Columns[childCol])); 

彼らはここでヌルオブジェクトの配列を使用し、どのように要求されたとしてIEnumerable<MyClass>でレポートを生成するには、なぜ私たちは知りません。最終的にはこれは役に立たず、入力データにドリルダウンデータを渡す方法はまだ探っています。

多分誰でもここで助けて、いくつかのベストプラクティス体験を提供できますか?

答えて

1

貼り付けたスニペットはLL固有ではなく、むしろADO.NETを介してテーブルとリレーションを解析する一般的な方法です。あなたはCustomerクラスを使用すると、通常、しなければならないすべては、これは、ドリルダウンなどを含めて、そこにあるあなたのすべての機能を提供します

using (ListLabel LL = new ListLabel()) 
{ 
    LL.DataSource = MyCustomerList; 
    LL.Design(); 
} 

ある

class Customer 
{ 
    //Constructor 
    public Customer(int customerID, string companyName, string contactName, string address, string city) 
    { 
     CustomerID = customerID; 
     CompanyName = companyName; 
     ContactName = contactName; 
     Address = address; 
     City = city; 
     OrderList = new List<Order>(); 
    } 

    public List<Order> OrderList { get; set; } 

    // The CustomerID should not be available in the designer 
    [Browsable(false)] 
    public int CustomerID { get; set; } 
    public string CompanyName { get; set; } 

    // Set display name, which should be used in the designer 
    [DisplayName("Name")] 
    public string ContactName { get; set; } 
    public string Address { get; set; } 
    public string City { get; set; } 
} 

// The "Order" class represents a single order of a customer 
class Order 
{ 
    //Constructor 
    public Order(int orderID, DateTime orderDate, string shipName, string shipCountry, double price) 
    { 
     OrderID = orderID; 
     OrderDate = orderDate; 
     ShipName = shipName; 
     ShipCountry = shipCountry; 
     Price = price; 
    } 

    public int OrderID { get; set; } 
    public DateTime OrderDate { get; set; } 
    public string ShipName { get; set; } 
    public string ShipCountry { get; set; } 
    public double Price { get; set; } 
    // Explicitly set a barcode field type 
    [FieldType(LlFieldType.Barcode_EAN128)] 
    public string PriceEan 
    { 
     get { return Price.ToString(); } 
    } 
} 

の線に沿って定義されているIEnumerable<Customer> を持っていると仮定すると、 CustomerからOrderまでのクラス。また、使用可能な属性の例を追加して、結果を微調整しました。

+0

これは彼らのサポートによって私に与えられたコードです。;-) – Ben

+0

私のスニペットは助けましたか?そうでない場合は、より具体的にあなたの質問にお答えください。サンプルコードが必要な場合は、ObjectDataProviderサンプルを試してください。これは、 'IEnumerable ' – JBartlau

+0

を含む多くのオブジェクトデータソースにバインドする方法を示しています。ドリルダウンのための型付き構造をどのように設計する必要があるかはわかりません。 DataSetsでドリルダウンを使用する方法について考えていますが、データセットにデータがないため、コレクションに完全に埋め込まれたオブジェクトがあります。私たちは 'LL.DataSource'を使う必要があることを知っていますが、DataSourceをどのように見えるかについてはわかりません。我々は、データ構造がどのようにしなければならないかを理解するための簡単なサンプルを見つけることはできません。 – Ben

関連する問題