1

我正在尝试将数据表(dt)中的两列显示到数据网格中。并添加另一列是comboxcolumn,以便我可以将扇区分配给每一行。问题是组合框的选择不能动态更新。当我单击其他内容时,选择消失了。有没有什么办法解决这一问题?

   dg_display.DataContext = dt.DefaultView;
   dg_display.Columns[0].Header = "Symbol";
   dg_display.Columns[1].Header = "Company name";          
   DataGridComboBoxColumn columnComboBox = new DataGridComboBoxColumn();
   string[] sectorarray = new[]
                                    {
                                       "Consumer Discretionary", "Consumer     Staples", "Energy", "Financial",
                                       "Financials", "Health Care", "Industrials", "Information Technology",
                                       "Materials", "Other", "Technology","Telecommunication Services", "Utilities"
                                   };
        columnComboBox.ItemsSource = sectorarray;
        columnComboBox.IsReadOnly = false;
                    dg_display.Columns.Add(columnComboBox);
        dg_display.Columns[2].Header = "Sector";
4

2 回答 2

0

您没有SelectedItem在 ComboBox 中绑定

设置SelectedItemBindingSelectedValueBinding

于 2011-11-04T19:30:33.333 回答
0

你可以试试这样......

 DataGridComboBoxColumn col = new DataGridComboBoxColumn();
        col.Header = "Name";
        col.DisplayMemberPath = "Name"; 
        col.SelectedValueBinding = new Binding("Name");
        col.ItemsSource = simacc;
        col.TextBinding = new Binding("Name");
        col.CanUserSort = false;
        dataGrid1.Columns.Add(col);
于 2011-11-04T19:31:25.830 回答