2009-08-25 13 views
2

の列のテキストの部分文字列を表示します。 item-codeはこの形式の "A-B-C"で、コードの "B"部分のみを表示したいと思います。この列をgridviewにバインドして、部分文字列を表示したいと考えています。私はdefaultcellstyle.formatを試しましたが、その部分文字列を取得する方法はわかりません。それは、列の代わりに、アイテムコードにこのプロパティを、その後、あなたの商品コードの中間部分を返すあなたのバインドされたオブジェクト、ItemCodePartのようなもの、に新しいプロパティを追加バインドする可能性フォーマットセルは、私がデータグリッドビューにバインドされている私のデータベース内で、列項目コードを持ってvb.net

答えて

2

ですか?それは最も簡単な方法でしょう。

別のオプションは、DataGridViewののCellFormattingイベントを処理し、表示したい項目コードの一部にe.Valueを設定することです:

Private Sub myDataGridView_CellFormatting(ByVal sender As Object, ByVal e As DataGridViewCellFormattingEventArgs) Handles myDataGridView.CellFormatting 

If e.ColumnIndex = MyItemPartColumn.Index Then 
    Dim currentValue As String = CStr(myDataGridView.Item(e.ColumnIndex, e.RowIndex).Value) 
    Dim parts As String() = currentValue.Split(New Char() {"-"c}) 
    e.Value = parts(1) 
End If 

End Sub 
+0

オブジェクトがデータテーブルで、私はそれにプロパティを追加することができますどのように私に言うことができますか? –

+0

DataColumnは列のクラスで、datatable.columns.addメソッドを使用して追加します。 次に、通常の方法で新しい列にアクセスし、値をアイテムの書式付きバージョンに設定します。 – klabranche

+0

おそらく2番目のオプションはもっと簡単です;-) –

0

RowDataBoundイベント - あなたは、そのフィールドのテキストを編集することができます。

関連する問題