Quiero enlazar los resultados de una consulta SQL a un Listbox de una WPF interfaz. Como muchos de los ejemplos que he visto, no puedo modificar mi solicitud, así como para que funcione correctamente. Yo uso este código detrás:

string sqlStr1 = "SELECT Players.LastName FROM Players";

SqlDataAdapter dAdapt1 = new SqlDataAdapter(sqlStr1, cnStr);
DataSet dataSet1 = new DataSet();
dAdapt1.Fill(dataSet1);

List1.DataContext = dataSet1;

y en el código xaml de la página:

<ListBox Name="List1" Grid.Column="1" Grid.Row="2" ></ListBox>

¿Cuál es la manera de enlazar ellos, así como el nombre que aparezca en el cuadro de lista?

Sin la adición de ningún Enlace en la página xaml, se produce una exceprtion cuando trato de ejecutarlo. Lo que está mal?

  • Si usted tiene una excepción post.
  • Es un XamlParseException con un mensaje de «La invocación del constructor en el tipo ‘TennisPlayers.PlayersHome’ que coincida con el especificado restricciones limitantes lanzó una excepción.’ Número de línea ‘5’ y la posición de la línea ‘7’.» Además se abre una nueva página con el encabezado «No hay Fuente disponible».
InformationsquelleAutor arjacsoh | 2012-02-09

1 Comentario

  1. 7

    su itemssource no está configurado.

    que usted puede hacer:

     List1.ItemsSource= dataSet1.Tables["Players"]; //instead of List1.DataContext = dataSet1;

    o

     List1.DataContext = dataSet1.Tables["Players"];
     <ListBox Name="List1" ItemsSource="{Binding}" Grid.Column="1" Grid.Row="2" >
      <ListBox.ItemTemplate>
       <DataTemplate>
        <TextBlock Text="{Binding LastName}"/>
       </DataTemplate>
      </ListBox.ItemTemplate>
     </ListBox>

    el Apellido que se asume como la Columnname. por cierto, todo el código es sólo manuscrita, por lo que puede haber algunos errores 🙂

    • por cierto, en lugar de establecer la fuente para el conjunto de datos debe establecer el origen de la tabla de datos en el conjunto de datos
    • Quería responder a la misma, pero estaban un poco más temprano :).
    • La segunda manera de sugerir que yo ya lo había intentado pero me sigue apareciendo el mismo excepción. La primera no es aceptable como estados de mensaje «no se puede implícitamente encubierta de conjunto de datos a IEnumerable». ¿Qué puede causar la XamlParseException?
    • la tienes que configurar la tabla de datos. véase mi edición. supongo que el datablename es «Jugadores»
    • si esto no funciona – me voy y crear una testproject 🙂
    • El problema con el excpeption es más, como se deriva de un error en la conexión. El control Listbox funciona ahora, pero los datos aparecen como Sistema.De datos.DataRowView. Qué propiedad debe anular para que se muestren correctamente? Creo ToString() no es lo que busco en esta ocasión.
    • como siempre que definir no datatemplate su ok a ver. voy a editar mi post para mostrar la plantilla de datos. por cierto, si usted utiliza un control datagrid con autogeneratcolumns=true usted debe ver sus datos.

Dejar respuesta

Please enter your comment!
Please enter your name here