DataSet連結したListBoxのItems値を取得するには。

解決


つちや  2004-09-24 20:05:23  No: 116491

下記のようにオーナードローを行いたいのですが
DataSourceにデータセットを設定している為
連結されているText値を取得できません。
(System.Data.DataRowViewと表示されてしまう)

ItemにAddで項目を追加すればうまく行くのですが
出来ればデータセットを使用したいです。
どのようにすれば値を取得できるのでしょうか?

Private Sub Form1_Load(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles MyBase.Load
    ListBox1.DrawMode = DrawMode.OwnerDrawFixed
End Sub

Private Sub ListBox1_DrawItem1(ByVal sender As Object, _
        ByVal e As System.Windows.Forms.DrawItemEventArgs) _
        Handles ListBox1.DrawItem
    e.DrawBackground()
        '↓--------描画する文字列の取得がうまく行かない
    Dim txt As String = CType(sender, ListBox).Items(e.Index).ToString()
    e.Graphics.DrawString(txt, e.Font, b, e.Bounds.X, e.Bounds.Y)
    b.Dispose()
    e.DrawFocusRectangle()
End Sub


自己解決しました。  2004-09-24 21:07:54  No: 116492

ComboBox CB = ((ComboBox) sender);
System.Data.DataRowView DV = (System.Data.DataRowView)CB.Items[e.Index];
string txt = DV[1].ToString();


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加