2013-09-25 9 views
7

मुझे फ़ील्ड पढ़ने में परेशानी है। मैंने विभिन्न तरीकों से कोशिश की है लेकिन अभी भी नहीं कर सकता। मैं उस मान को पढ़ना चाहता हूं जिसे उपयोगकर्ता ने निम्नलिखित 3 मानों का चयन किया था। XAMLwpf डेटाग्रिड combobox कॉलम

<DataGridComboBoxColumn X:Name="dgcbc" Header="Wynik"/> 

संहिता में

कोड सी # में

List<string> list = new List <string>(); 
lista.Add ("Prize"); 
lista.Add ("Draw"); 
lista.Add ("Lost"); 
dgcbc.ItemsSource = list; 
+0

आप "मुझे लगता है कि उपयोगकर्ता चयनित निम्नलिखित 3 मूल्यों मूल्य पढ़ना चाहते हैं।" से क्या मतलब है? और वास्तव में आपका मुद्दा क्या है? – JFTxJ

+0

इसे इस तरह से मत करो। डब्ल्यूपीएफ में बाइंडिंग का उपयोग करने का प्रयास करें, यह आसान तरीका है: http://www.wpftutorial.net/DataGrid.html –

उत्तर

17

यह नमूना कैसे समझ लिस्टबॉक्स इस्तेमाल किया जा सकता में मदद कर सकते हैं।

public class Employee 
{ 
    public string Name { get; set; } 
    public string Gender { get; set; }   
} 

XAML

<StackPanel> 
    <DataGrid AutoGenerateColumns="False" Name="myGrid" Margin="10"> 
    <DataGrid.Columns> 
     <DataGridTextColumn Binding="{Binding Path=Name}" />    
     <DataGridComboBoxColumn Width="100" x:Name="Gender" 
        SelectedValueBinding="{Binding Gender, Mode=TwoWay}" 
        DisplayMemberPath="{Binding Gender}" /> 
    </DataGrid.Columns> 
    </DataGrid> 
    <Button Name="ShowPersonDetails" 
      Content="Show Person Details" 
      Width="200" Height="30" 
      Click="ShowPersonDetails_Click" Margin="10" /> 
</StackPanel> 

कोड-पीछे

public partial class WPFDataGridComboBox : Window 
{ 
    public List<Employee> Employees { get; set; } 
    public List<string> Genders { get; set; } 

    public WPFDataGridComboBox() 
    { 
     Employees = new List<Employee>() 
     { 
      new Employee() { Name = "ABC", Gender = "Female" }, 
      new Employee() { Name = "XYZ" } 
     }; 

     Genders = new List<string>(); 
     Genders.Add("Male"); 
     Genders.Add("Female"); 

     InitializeComponent(); 
     myGrid.ItemsSource = Employees; 
     Gender.ItemsSource = Genders; 
    } 

    private void ShowPersonDetails_Click(object sender, RoutedEventArgs e) 
    { 
     foreach (Employee employee in Employees) 
     { 
      string text = string.Empty; 
      text = "Name : " + employee.Name + Environment.NewLine; 
      text += "Gender : " + employee.Gender + Environment.NewLine; 
      MessageBox.Show(text); 
     } 
    } 
} 
+2

मैं 'myGrid.ItemsSource = कर्मचारी;' और 'लिंग.इटेम्स स्रोत = लिंग' को बदले में बदल दूंगा। –

+0

क्या यह आपके लिए काम करता है? – RonakThakkar

+0

हां, मैं समझता हूं कि यह कैसे काम करता है, और मैंने बाकी कोड लिखा है। सब कुछ काम करता है। आपकी मदद के लिए धन्यवाद और सबसे अच्छा संबंध रोनाटकखकर। :) – user231605

संबंधित मुद्दे