繁体   English   中英

如何绑定列表中的文本框?

[英]How do I bind the Textbox from List?

我只需要绑定文本框。 我创建了一个上一个和下一个按钮,此按钮有效,但文本框上没有任何内容。 我怎么了 我如何从列表中获得物品?

从数据库读取:

   void read()
    {
        using (var nwe = new NORTHWNDEntities())
        {

            var objctx = (nwe as IObjectContextAdapter).ObjectContext;
            ObjectQuery<Employee> query = new ObjectQuery<Employee>(
                "SELECT VALUE n from NORTHWNDEntities.Employees as n", objctx);
            List<Employee> results = query.ToList();


            cursor = (CollectionView)CollectionViewSource.GetDefaultView(results);

        }
    }

    private void countposition()
    {
        labelRead.Content = "Read " + (cursor.CurrentPosition + 1) + " to " + cursor.Count; 
    }
private void buttonNext_Click(object sender, RoutedEventArgs e)
    {
        if(cursor.CurrentPosition < cursor.Count -1)
        {
            cursor.MoveCurrentToNext();
            countposition();
        }
        else
        {
            MessageBox.Show("No more data");
        }
    }

    private void buttonPrevious_Click(object sender, RoutedEventArgs e)
    {

         if (cursor.CurrentPosition > 0)
         {
            cursor.MoveCurrentToPrevious();
            countposition();

         }
         else
         {
             MessageBox.Show("No more data");
         }

    }

绑定数据的UI代码:

<TextBox x:Name="textBoxID" HorizontalAlignment="Left" Height="23" Margin="163,79,0,0" TextWrapping="Wrap" Text="{Binding Path=EmployeeID}" IsReadOnly="True" VerticalAlignment="Top" Width="87"/>
    <Label x:Name="labelFirstNAme" Content="First Name" HorizontalAlignment="Left" Margin="52,157,0,0" VerticalAlignment="Top"/>
    <TextBox x:Name="textBoxFirstName" HorizontalAlignment="Left" Height="23" Margin="163,157,0,0" TextWrapping="Wrap" Text="{Binding Path=FirstName}" VerticalAlignment="Top" Width="145"/>
    <Label x:Name="labelLastName" Content="Last Name" HorizontalAlignment="Left" Margin="52,224,0,0" VerticalAlignment="Top" Width="67"/>
    <TextBox x:Name="textBoxLastName" HorizontalAlignment="Left" Height="23" Margin="163,224,0,0" TextWrapping="Wrap" Text="{Binding Path=LastName}" VerticalAlignment="Top" Width="145"/>
    <Label x:Name="labelBirthDate" Content="Birth Date" HorizontalAlignment="Left" Margin="52,307,0,0" VerticalAlignment="Top" RenderTransformOrigin="-0.289,0.462" Width="67"/>
    <TextBox x:Name="textBoxBirthDate" HorizontalAlignment="Left" Height="23" Margin="163,310,0,0" TextWrapping="Wrap" Text="{Binding Path=BirthDate}" VerticalAlignment="Top" Width="145"/>

抱歉,我喝了一些啤酒,但TextBox只接受一个值,通常为id .est =“。Text =” oneStringInstanceOnly“。 您想将List <>(具有多个值/对象/字符串/类)绑定到通常接受一个(通常是字符串)值的TextBox,这就是为什么您不能将包含多个值的List绑定到TexBox的原因接受一个值。 TextBox不是接受多个值/数据表的DataGridView或ListBox。 甚至可以从列表myTextBox =(myList!= null && myList.Count!= 0)中分配第一个值给TexBox?myList [0] .ToString():“ NoMoreValues”;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM