Sdílet prostřednictvím


Mapování sloupců ListObject na data

Když vytvoříte vazbu ListObject ovládacího prvku na DataTableovládací prvek , možná nebudete chtít zobrazit všechny sloupce v seznamu nebo můžete mít určité sloupce, které nejsou svázané s daty. Můžete mapovat sloupce, které se mají zobrazit při ListObject volání SetDataBinding metody.

Platí pro: Informace v tomto tématu platí pro projekty na úrovni dokumentu a projekty doplňků VSTO pro Excel. Další informace naleznete v tématu Funkce dostupné aplikace Office lication a typu projektu.

Sloupce mapy

Mapování tabulky dat na sloupce v seznamu

  1. Vytvořte úroveň DataTable třídy.

    System.Data.DataTable table = new System.Data.DataTable("Employees");
    
  2. Přidejte ukázkové sloupce a data do Startup obslužné rutiny Sheet1 události třídy (v projektu na úrovni dokumentu) nebo ThisAddIn třídy (v projektu doplňku VSTO).

    table.Columns.Add("Id", typeof(int));
    table.Columns.Add("FirstName", typeof(string));
    table.Columns.Add("LastName", typeof(string));
    table.Columns.Add("Title", typeof(string));
    
    table.Rows.Add(1, "Nancy", "Anderson", "Sales Representative");
    table.Rows.Add(2, "Robert", "Brown", "Sales Representative");
    
  3. Zavolejte metodu SetDataBinding a předejte názvy sloupců v pořadí, v jakém by se měly zobrazit. Objekt seznamu bude vázán na nově vytvořený DataTableobjekt , ale pořadí sloupců v objektu seznamu se bude lišit od pořadí, ve které se zobrazují v objektu DataTable.

    this.list1.AutoSetDataBoundColumnHeaders = true;
    this.list1.SetDataBinding(table, "", "Title", "LastName", "FirstName");
    

Zadání nenamapovaných sloupců

Při mapování sloupců na , DataTablemůžete také určit, že určité sloupce by neměly být svázány s daty předáním prázdného řetězce. Do ovládacího prvku se přidá ListObject nový sloupec, který není svázán s daty.

Určení nemapovaného sloupce při mapování sloupců ListObject

  1. Zavolejte metodu SetDataBinding a předejte názvy sloupců v pořadí, v jakém by se měly zobrazit. Použijte prázdný řetězec k označení, kde je přidán nemapovaný sloupec; v tomto případě mezi sloupcem nadpisu a sloupcem příjmení.

    this.list1.SetDataBinding(table, "", "Title", "", "LastName", "FirstName");
    

Kompilace kódu

Tento příklad kódu předpokládá, že máte existující ListObject název list1 na listu, ve kterém se tento kód zobrazí.