2016-07-16 1 views
0

텍스트 상자를 바인딩하기 만하면됩니다. 나는이 다음과 이전 버튼을 만들었지 만 텍스트 상자에는 아무 것도 없습니다. 내가 틀린 게 뭐야? 목록에서 항목을 가져 오는 방법은 무엇입니까? 데이터베이스에서목록의 텍스트 상자를 어떻게 바인딩합니까?

읽기 : UI를 코드는 데이터를 바인딩하는

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"); 
     } 

    } 

: 나는 약간의 맥주를 마셨다하지만 텍스트 상자가 하나 개의 값, ID 동부 표준시 일반적으로는 .text을 받아

<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

죄송합니다 = "oneStringInstanceOnly". 일반적으로 하나의 (일반적으로 문자열) 값을 받아들이는 TextBox에 List <> (여러 값/개체/문자열/클래스가 있음)을 바인딩하려고합니다. 그 이유는 여러 값을 포함하는 List를 하나의 값을 받아들이는 TexBox. TextBox는 여러 값/데이터 테이블을 사용할 수있는 DataGridView 또는 ListBox가 아닙니다. 똑같이 목록에서 첫 번째 값으로 TexBox를 지정할 수 있습니다. myTextBox = (myList! = null & & myList.Count! = 0)? myList [0] .ToString() : "NoMoreValues";

관련 문제