
'宣言 Public Class MultiColumnDictionary Inherits System.Collections.Specialized.ListDictionary Implements IC1MultiColumnDictionary, IC1MultiColumnDictionary2
public class MultiColumnDictionary : System.Collections.Specialized.ListDictionary, IC1MultiColumnDictionary, IC1MultiColumnDictionary2
次のコードは、非連結2列データマップを作成し、それをグリッド列に割り当てます。
マップは3つの項目で構成され、各項目に2つの列があります。 autoKeysパラメータはマップのコンストラクタで true に設定されるため、マップの各値には一意の整数キーが対応し、これらの整数がグリッドセルに格納されます。 autoKeysが false に設定されている場合は、文字列自身がキーとして使用され、グリッドセルに格納されます。
次のコードは、連結データマップを作成し、それをグリッド列に割り当てます。
このマップは Employees DataTable に連結されます。 keyColumnパラメータは「EmployeeID」に設定され、このフィールドがキーとして使用されます。グリッドが編集されると、これらのセルに格納された値が従業員の ID になります。ただし、この値がグリッドに表示されることはありません。
ドロップダウンリストには、 columnNamesパラメータで指定された従業員の名、姓、国が表示されます。
リストが閉じられると、グリッドには、 displayColumnパラメータで指定された従業員の姓が表示されます。
このマップはデータソースに動的に連結されているため、従業員テーブルが変更されると、エディタリストは自動的に変更を反映します。
また、自動検索やダブルクリックによる順次選択など、通常のコンボボックス編集機能も動作します。
MultiColumnDictionary サンプルも参照してください。
' 文字列に基づく MultiColumnDictionary を作成し、それを列に割り当てます。 ' メモ : これは、項目ごとに int 型のキーを自動的に生成します。 ' キー値はグリッドに格納されます。 Dim text As String = "Row1, Col1\tRow1, Col2|Row2, Col1\tRow2, Col2".Replace("\t", vbTab) Dim map As MultiColumnDictionary = New MultiColumnDictionary(text, 0, True) flex.Cols(1).DataMap = map
// 文字列に基づく MultiColumnDictionary を作成し、それを列に割り当てます。 // メモ : これは、項目ごとに int 型のキーを自動的に生成します。 // キー値はグリッドに格納されます。 string text = "Row1, Col1\tRow1, Col2|Row2, Col1\tRow2, Col3|Row2, Col1\tRow3, Col2"; MultiColumnDictionary map = new MultiColumnDictionary(text, 0, true); flex.Cols[1].DataMap = map;
' データに基づく MultiColumnDictionary を作成し、それを列に割り当てます。 ' メモ : データソースが変更されると、リストが自動的に更新されます。 Dim dt As DataTable = GetDataTable("employees") Dim columnNames() As String = New String() {"FirstName", "LastName", "Country"} Dim map As MultiColumnDictionary = New MultiColumnDictionary(dt, "EmployeeID", columnNames, 1) flex.Cols(2).DataMap = map
// データに基づく MultiColumnDictionary を作成し、それを列に割り当てます。 // メモ : データソースが変更されると、リストが自動的に更新されます。 DataTable dt = GetDataTable("employees"); string[] columnNames = new string[] { "FirstName", "LastName", "Country" }; MultiColumnDictionary map = new MultiColumnDictionary(dt, "EmployeeID", columnNames, 1); flex.Cols[2].DataMap = map;
System.Object
System.Collections.Specialized.ListDictionary
C1.Win.FlexGrid.MultiColumnDictionary