Epicor9 - Как отфильтровать столбцы в окне поиска UDAdapter
Я создал следующую функцию SearchOnUDAdapterShowDialog() с помощью мастера настройки, которая позволяет пользователям искать содержимое таблицы UD. Проблема в том, что в результатах поиска отображаются все столбцы в таблице UD. Мне нужно отобразить только несколько релевантных столбцов и изменить имена столбцов по умолчанию на удобные для пользователя имена.
private void SearchOnUD100AdapterShowDialog()
{
// Wizard Generated Search Method
// You will need to call this method from another method in custom code
// For example, [Form]_Load or [Button]_Click
bool recSelected;
string whereClause = string.Empty;
System.Data.DataSet dsUD100Adapter = Epicor.Mfg.UI.FormFunctions.SearchFunctions.listLookup(this.oTrans, "UD100Adapter", out recSelected, true, whereClause);
if (recSelected)
{
System.Data.DataRow adapterRow = dsUD100Adapter.Tables[0].Rows[0];
// Map Search Fields to Application Fields
EpiDataView edvVendorDetail = ((EpiDataView)(this.oTrans.EpiDataViews["VendorDetail"]));
System.Data.DataRow edvVendorDetailRow = edvVendorDetail.CurrentDataRow;
if ((edvVendorDetailRow != null))
{
edvVendorDetailRow.BeginEdit();
edvVendorDetailRow["ShortChar09"] = adapterRow["Key1"];
edvVendorDetailRow.EndEdit();
}
}
}
Ценю твою помощь. Благодарю.
1 ответ
Решение
Попробуйте вызвать это непосредственно перед вызовом listLookup:
EpiSearchBase adapterSearchForm = ((Epicor.Mfg.UI.Adapters.UD100Adapter)oTrans_adapter).SearchForm;
adapterSearchForm.ClearEpiSearchColumns();
// Paramters: Data Column Name, Column Header Text, Width, Is Result, Position
adapterSearchForm.SetEpiSearchColumn(new EpiSearchColumn("Key1", "Alteration Fee Type", -1, true, 0), true);
adapterSearchForm.SetEpiSearchColumn(new EpiSearchColumn("Character01", "Description", -1, false, 1), true);