2013-07-23 42 views
2

我有一個從DataTable動態加載的DevExpress Grid控件。除了我想用ComboBoxEdit來選擇三個不同的值之外,所有列都從DataTable加載。網格中的DevExpress ComboBoxEdit不下降

所有行顯示正確,並且comboxbox顯示在每行的網格中。但是,我無法讓它下降。無論我做什麼,下拉菜單中似乎都沒有任何價值,或者因其他原因而不下降。 當我向該列添加值時,它也會顯示在網格中,但單擊組合框上的下拉按鈕時仍然沒有響應。

用戶應該能夠選擇三個值中的一個,但不能輸入任何內容或添加值。

這裏是我的呼籲行添加到GridView:

F1Grid.DataSource = accounts; 
F1Grid.RefreshDataSource(); 
F1GridView.RefreshData(); 

這是我使用初始化庫組合框代碼:

RepositoryItemComboBox repositoryItemBetVillk = new RepositoryItemComboBox(); 
repositoryItemBetVillk.Items.Clear(); 
repositoryItemBetVillk.Items.AddRange(new string[] { "12", "24", "36"}); 
repositoryItemBetVillk.ShowDropDown = ShowDropDown.SingleClick; 
repositoryItemBetVillk.AllowDropDownWhenReadOnly = DefaultBoolean.True; 
repositoryItemBetVillk.DropDownRows = 3; 
repositoryItemBetVillk.Enabled = true; 
repositoryItemBetVillk.ReadOnly = true; 
repositoryItemBetVillk.TextEditStyle = TextEditStyles.Standard; 
repositoryItemBetVillk.UseCtrlScroll = false; 
F1GridView.Columns["BetVillk"].ColumnEdit = repositoryItemBetVillk; 

爲什麼不下拉工作?我在創業初期失去了一些至關重要的東西?

幫幫我,Stackoverflow,你是我唯一的希望!

回答

0

我認爲你缺少的東西,如:

F1Grid.RepositoryItems.Add(repositoryItemBetVillk); 

在你的代碼。試試吧,讓我知道

+0

感謝您的回答。不幸的是,這似乎不成問題。我也嘗試使用'RepositoryItemLookUpEdit',但結果相同。然而,lookupedit確實加載了我添加到它的項目列表,因爲它正確地顯示了「DisplayMember」值,而不是僅設置到該特定行和列的「ValueMember」值。 – kumaheiyama

+0

所以它似乎正確加載下拉列表的項目,當我單擊按鈕時沒有任何操作。該按鈕也被啓用,所以這不是問題。似乎沒有事件被觸發,但下拉事件不應該被明確設置,對吧? – kumaheiyama

1

我開始時使用相同的代碼庫,並且與發佈者的問題相同。我改變了下面,使其工作:

repositoryItemBetVillk.ReadOnly = false; 
1

我知道這是舊的,但以供參考:

repositoryItemBetVillk.ReadOnly = false; 
repositoryItemBetVillk.AllowDropDownWhenReadOnly = DefaultBoolean.True; 
repositoryItemBetVillk.TextEditStyle = TextEditStyles.DisableTextEditor; 

這將確保用戶可以使用組合框沒有輸入任何其他值的能力。