簡體   English   中英

DevExpress VerticalGrid 行屬性

[英]DevExpress VerticalGrid Row properties

我使用DevExpress 22 我將EditorRow添加到VerticalGrid EditorRowRowEdit屬性中,從In-place Editor repository中選擇了LookUpEdit LookUpEdit包含來自數據庫的帶有顏色名稱的列表。 當我從列表中輸入 select 顏色名稱時, EditorRow被塗成該顏色。 但是,當我 select 從列表中選擇一種顏色時,它不會立即應用,只有當我從EditorRow中移除焦點時才會應用。 我使用EditValueChanged來處理從列表中選擇值:

private void Ilue_zprstatus_EditValueChanged(object sender, EventArgs e)
{
    LookUpEdit ilue = sender as LookUpEdit;
    
    if (ilue.EditValue.ToString() == "Green")
    {                                
        zpr_status.AppearanceCell.BackColor = Color.FromArgb(0x99, 0xFF, 0x99);               
    }              
    if (ilue.EditValue.ToString() == "Yellow")
    {               
        zpr_status.AppearanceCell.BackColor = Color.FromArgb(0xFF, 0xFF, 0x99);
    }
    if (ilue.EditValue.ToString() == "White")
    {
        zpr_status.AppearanceCell.BackColor = Color.FromArgb(0xFF, 0xFF, 0xFF);          
    }            
}

function 有效,但顏色不會立即改變。 問題:

  1. 如何在從列表中選擇一個值后立即刷新EditorRow state?
  2. 如何在EditorRow中從LookUpEdit而不是ValueMember獲取DisplayMember的值?

您應該處理查找存儲庫項的EditValueChanged事件。 請參閱以下代碼示例:

public Form1() {
    InitializeComponent();
    vGridControl1.DataSource = ColorRecord.Init();
    vGridControl1.ForceInitialize();
    RepositoryItemLookUpEdit lookupColor = new RepositoryItemLookUpEdit();            
    lookupColor.ValueMember = "Color"; // Type - Color
    lookupColor.DisplayMember = "ColorName"; // Type - String
    lookupColor.EditValueChanged += new EventHandler(loolupColor_EditValueChanged);
    vGridControl1.Rows["Color"].Properties.RowEdit = lookupColor; // Type - Color
}
// Fires once you selected a values from the dropdown list.
void loolupColor_EditValueChanged(object sender, EventArgs e) {
    // Gets the lookup's value.
    Color selectedColor = (Color)(sender as LookUpEdit).EditValue;
    // Gets the lookup's display text.
    string colorName = (sender as LookUpEdit).Text;
    // Posts the selected value to the vGrid's data source.
    vGridControl1.PostEditor();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM