2016-07-16 5 views
0

Мне нужно только привязать текстовые поля. Я создал следующую и предыдущую кнопку, это работает, но ничего нет в текстовом поле. Что я не так? Как получить элементы из списка?Как связать текстовое поле со списком?

Чтение из базы данных:

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"/> 
+0

Это не связано с sq-server, используйте теги правильно – FLICKER

ответ

0

Жаль, что я выпил несколько бутылок пива, но TextBox принимает только одно значение, идентификатор Эст обычно .text = "oneStringInstanceOnly". Вы хотите связать List <> (который имеет несколько значений/объектов/строк/классов) в TextBox, который принимает обычно одно (обычно строковое) значение, и именно поэтому вы не можете привязывать список, содержащий несколько значений, к TexBox, который принимает одно значение. TextBox не является DataGridView или ListBox, которые принимают несколько таблиц значений/данных. В любом случае вы можете назначить TexBox с первым значением из списка myTextBox = (myList! = Null & & myList.Count! = 0)? MyList [0] .ToString(): «NoMoreValues»;

Смежные вопросы