LookUpEdit DisplayFormat FormatString - PullRequest
       5

LookUpEdit DisplayFormat FormatString

1 голос
/ 12 февраля 2012

У меня простая проблема с DevExpress LookUpEdit DisplayFormat. Я хочу добиться результатов в lookUpEdit, как:
Тип документа ( .doc)
Тип документа (
.docx)

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 ]

2 голосов
/ 13 февраля 2012

Можно использовать следующий прием ( RepositoryItemLookUpEdit.GetNotInListValue событие):

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 голосов
/ 13 февраля 2012

Если я правильно помню, LookUpEdit не поддерживает эту функцию.

Я бы просто создал список со значениями «Тип документа ( .docx)», «Тип документа ( .xy)» и связал бы его с элементом управления.

Что-то вроде

var types = defaultExtensionsList.Split(';').Select(s => "DocumentType (*." + s + ")").ToList();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...