テキストからテキストへの変換の指定と同じ方法で、テキストから画像への変換を行うことができます。ValueItems エディタ内で、DisplayValue 列に文字列を入力する代わりに、省略符ボタンを使用して、データ変換に使用されるビットマップを選択できます。ビットマップの選択を取り消すには、DisplayValueプロパティボックス内のテキストを削除し、別のビットマップを選択するか、テキストを入力します。
ValueItems オブジェクトのTranslateプロパティを True に設定する必要があることに注意してください。ビットマップの高さによっては、Visual Studio のプロパティウィンドウでRowHeight プロパティの値を増やす必要があります。その場合は、グリッドのStyle プロパティの VerticalAlignmentメンバも Center に変更する必要があります。これにより、ビットマップ(および他の列のテキストデータ)は、グリッドセルの上部ではなく、上下の中央に置かれます。
プログラムが実行されると、Value 列のアイテムと一致する Country フィールドの値は、対応する DisplayValue の画像として表示されます。
テキスト間の変換と同様に、基礎データベースには影響がありません。データ値の表現だけが異なります。コードで同様の結果を得るには、次のようにします。
Visual Basic コードの書き方
Visual Basic |
コードのコピー
|
---|---|
Dim item As C1.Win.C1TrueDBGrid.ValueItem = New C1.Win.C1TrueDBGrid.ValueItem() With Me.C1TrueDBGrid1.Columns("Country").ValueItems.Values Item.Value = "CAN" Item.DisplayValue = System.Drawing.Image.FromFile("canada.bmp") .Add(Item) Item = New C1.Win.C1TrueDBGrid.ValueItem() Item.Value = "UK" Item.DisplayValue = System.Drawing.Image.FromFile("uk.bmp") .Add(Item) Item = New C1.Win.C1TrueDBGrid.ValueItem() Item.Value = "USA" Item.DisplayValue = System.Drawing.Image.FromFile("usa.bmp") .Add(Item) Item = New C1.Win.C1TrueDBGrid.ValueItem() Item.Value = "JPN" Item.DisplayValue = System.Drawing.Image.FromFile("japan.bmp") .Add(Item) Item = New C1.Win.C1TrueDBGrid.ValueItem() Item.Value = "AUS" Item.DisplayValue = System.Drawing.Image.FromFile("australia.bmp") .Add(Item) Me.C1TrueDBGrid1.Columns("Country").ValueItems.Translate = True End With |
C# コードの書き方
C# |
コードのコピー
|
---|---|
C1.Win.C1TrueDBGrid.ValueItemCollection v = this.c1TrueDBGrid.Columns["Country"].ValueItems.Values; C1.Win.C1TrueDBGrid.ValueItem Item = new C1.Win.C1TrueDBGrid.ValueItem(); Item.value = "CAN"; Item.DisplayValue = System.Drawing.Image.FromFile["canada.bmp"]; v.Add[Item]; Item = new C1.Win.C1TrueDBGrid.ValueItem(); Item.value = "UK"; Item.DisplayValue = System.Drawing.Image.FromFile["uk.bmp"]; v.Add[Item]; Item = new C1.Win.C1TrueDBGrid.ValueItem(); Item.value = "USA"; Item.DisplayValue = System.Drawing.Image.FromFile["usa.bmp"]; v.Add[Item]; Item = new C1.Win.C1TrueDBGrid.ValueItem(); Item.value = "JPN"; Item.DisplayValue = System.Drawing.Image.FromFile["japan.bmp"]; v.Add[Item]; Item = new C1.Win.C1TrueDBGrid.ValueItem(); Item.value = "AUS"; Item.DisplayValue = System.Drawing.Image.FromFile["australia.bmp"]; v.Add[Item]; this.c1TrueDBGrid1.Columns["Country"].ValueItems.Translate = true; |