2012-02-12 4 views
1

私はDevExpress LookUpEdit DisplayFormatで簡単な問題があります。私の記憶が正しければ、LookUpEditがこの機能をサポートしていません
ドキュメントタイプ(.DOC)
ドキュメントタイプ(
の.docx)LookUpEdit DisplayFormat FormatString

const string defaultExtensionsList = "doc;docx;xlsx;xls;pdf;txt"; 
//... 
var column = new LookUpColumnInfo("Column", "Extensions") 
{ 
    Visible = true, 
    //FormatType = FormatType.Custom, 
    //FormatString ="Document type (*.{0})", 
    Alignment = HorzAlignment.Near 
}; 
ExtensionsLookup.Properties.DisplayFormat.FormatType = FormatType.Custom; 
ExtensionsLookup.Properties.DisplayFormat.FormatString = "Document type (*.{0})"; 
ExtensionsLookup.Properties.EditFormat.FormatType = FormatType.Custom; 
ExtensionsLookup.Properties.EditFormat.FormatString = "Document type (*.{0})"; 
ExtensionsLookup.Properties.Columns.Add(column); 

var bindingList = defaultExtensionsList.Split(';').ToList(); 
ExtensionsLookup.Properties.DataSource = bindingList; 

答えて

2

ような何か:私は知っているが、私は(独自の追加、削除)、そのデータを操作できるようにする必要があり

const string defaultExtensionsList = "doc;docx;xlsx;xls;pdf;txt"; 
//... 
var columnID = new LookUpColumnInfo("Column", "IDs") { Visible = false }; 
var columnToDisplay = new LookUpColumnInfo("Display", "Extensions"); 

lookUpEdit.Properties.Columns.AddRange(new LookUpColumnInfo[] { columnID, columnToDisplay }); 
lookUpEdit.Properties.ValueMember = "Column"; 
lookUpEdit.Properties.DisplayMember = "Display"; 
lookUpEdit.Properties.TextEditStyle = TextEditStyles.DisableTextEditor; 
lookUpEdit.Properties.GetNotInListValue += OnGetNotInListValue; 

var bindingList = defaultExtensionsList.Split(';').ToList(); 
lookUpEdit.Properties.DataSource = bindingList; 
//... 
void OnGetNotInListValue(object sender, GetNotInListValueEventArgs e) { 
    if(e.FieldName == "Display") 
     e.Value = string.Format("Document type (*.{0})", 
      ((IList<string>)lookUpEdit.Properties.DataSource)[e.RecordIndex]); 
} 
+0

ハンクス。これは私が必要とするものです。 var columnToDisplay = new LookUpColumnInfo( "表示"、 "拡張機能"); ExtensionsLookup.Properties.Columns.Add(columnToDisplay); ExtensionsLookup.Properties.GetNotInListValue + = OnGetNotInListValue;なぜほとんど? EditValueはそれに応じてフォーマットされません:)私は受け入れます:P – kayz1

0

:私のようなlookUpEditで結果を達成したいです。

"Document type(.docx)"、 "Documentype( .xy)"の値を持つListを作成し、コントロールにバインドするだけです。

次のトリック(RepositoryItemLookUpEdit.GetNotInListValueイベント)を使用することができます

var types = defaultExtensionsList.Split(';').Select(s => "DocumentType (*." + s + ")").ToList(); 
+0

を私はこれがFormatStringを介して行うことができると思った。このようにして、私は辞書または2つのリストを管理する必要はありません。 – kayz1

関連する問題