Maison > base de données > tutoriel mysql > Pourquoi ma liste WinForms affiche-t-elle « System.Data.DataRowView » au lieu des valeurs réelles ?

Pourquoi ma liste WinForms affiche-t-elle « System.Data.DataRowView » au lieu des valeurs réelles ?

Barbara Streisand
Libérer: 2024-11-02 03:55:30
original
852 Les gens l'ont consulté

Why Does My WinForms Listbox Display

Pourquoi System.Data.DataRowView au lieu de valeurs réelles dans la liste WinForms ?

Dans le développement WinForms, rencontrer System.Data.DataRowView au lieu de les valeurs réelles dans une listbox peuvent être déroutantes. Comprendre le problème sous-jacent vous permettra de résoudre ce problème efficacement.

Dans l'extrait de code fourni :

<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>
Copier après la connexion

Le code semble correct, car le DataTable est rempli via un MySqlDataAdapter puis attribué comme source de données pour le contrôle ListBox. Cependant, la propriété DisplayMember est définie sur « NameAndScore », qui est un alias de colonne.

Lors de la liaison de données à une zone de liste, la propriété DisplayMember spécifie la colonne qui fournit le texte affiché dans la liste. En le définissant sur l'alias "NameAndScore", vous demandez à la zone de liste d'afficher la chaîne System.Data.DataRowView au lieu des données réelles, car la structure de données sous-jacente est une représentation DataRowView de la table.

Solution :

Pour corriger ce problème et afficher les valeurs réelles de la base de données :

  • Définissez le DisplayMember sur le nom réel de la colonne :
<code class="csharp">lstNames.DisplayMember = "Score";</code>
Copier après la connexion
  • Récupérez les valeurs spécifiques à l'aide de la représentation DataRowView :
<code class="csharp">DataRowView drv = (DataRowView)lstNames.SelectedItem;
String valueOfItem = drv["NameAndScore"].ToString();</code>
Copier après la connexion

Cette approche vous permet d'accéder aux valeurs individuelles associées à l'élément sélectionné, vous permettant de travailler avec l'élément sous-jacent données selon les besoins.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal