Mengapa Kotak Senarai WinForms Saya Memaparkan \'System.Data.DataRowView\' Daripada Nilai Sebenar?

Barbara Streisand
Lepaskan: 2024-11-02 03:55:30
asal
785 orang telah melayarinya

Why Does My WinForms Listbox Display

Mengapa System.Data.DataRowView Daripada Nilai Sebenar dalam WinForms Listbox?

Dalam pembangunan WinForms, menemui System.Data.DataRowView dan bukannya nilai sebenar dalam kotak senarai boleh membingungkan. Memahami isu asas akan memberi anda kuasa untuk menyelesaikan masalah ini dengan cekap.

Dalam coretan kod yang disediakan:

<code class="csharp">MySqlDataAdapter dAdapter = new MySqlDataAdapter(sqlStr, myConn);
DataTable dTable = new DataTable();
dAdapter.Fill(dTable);
dAdapter.Dispose();
lstNames.DisplayMember = "NameAndScore";
lstNames.DataSource = dTable;</code>
Salin selepas log masuk

Kod kelihatan betul, kerana DataTable diisi melalui MySqlDataAdapter dan kemudian diberikan sebagai sumber data untuk kawalan ListBox. Walau bagaimanapun, sifat DisplayMember ditetapkan kepada "NameAndScore", yang merupakan alias lajur.

Apabila mengikat data pada kotak senarai, sifat DisplayMember menentukan lajur yang menyediakan teks yang dipaparkan dalam senarai. Dengan menetapkannya kepada alias "NameAndScore", anda mengarahkan kotak senarai untuk memaparkan rentetan System.Data.DataRowView dan bukannya data sebenar, kerana struktur data asas ialah perwakilan DataRowView bagi jadual.

Penyelesaian:

Untuk membetulkan isu ini dan memaparkan nilai sebenar daripada pangkalan data:

  • Tetapkan Ahli Paparan kepada nama lajur sebenar:
<code class="csharp">lstNames.DisplayMember = "Score";</code>
Salin selepas log masuk
  • Dapatkan semula nilai khusus menggunakan perwakilan DataRowView:
<code class="csharp">DataRowView drv = (DataRowView)lstNames.SelectedItem;
String valueOfItem = drv["NameAndScore"].ToString();</code>
Salin selepas log masuk

Pendekatan ini membolehkan anda mengakses nilai individu yang dikaitkan dengan item yang dipilih, membolehkan anda bekerja dengan asas data mengikut keperluan.

Atas ialah kandungan terperinci Mengapa Kotak Senarai WinForms Saya Memaparkan \'System.Data.DataRowView\' Daripada Nilai Sebenar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!