Хотя я не уверен, что вы имеете в виду именно с «добавить фильтр, как стандартные формы Ax» и я уверен, что есть лучший способ сделать это, вот мое взятие на добавление простой функции фильтра в форму AX, которая использует управляемый элемент управления DataGridView
для отображения данных.
Это руководство основано на учебнике Using Managed Host Control in Microsoft Dynamics AX 2012, к которому я добавил элемент управления StringEdit
, чтобы ввести критерии фильтра и кнопку для удаления фильтра.
В modified
метод управления StringEdit
строки DataGridView
очищаются и заполняются значениями в соответствии с критериями фильтра. Переменная filterValue
- StringEdit
с AutoDeclaration
установлена в Yes
.
public boolean modified()
{
boolean ret;
System.Windows.Forms.DataGridViewRowCollection rowCollection;
System.String[] strValues;
CustTable custTable;
str 20 filterValueStr;
ret = super();
filterValueStr = filterValue.text();
rowCollection = dataGridView.get_Rows();
rowCollection.Clear();
while select * from custTable where custTable.AccountNum LIKE filterValueStr
{
strValues = new System.String[2]();
strValues.set_Item(0, custTable.AccountNum);
strValues.set_Item(1, custTable.name());
rowCollection.Add(strValues);
}
return ret;
}
clicked
метод кнопки, чтобы удалить фильтр в основном выполняет тот же самый код, который используется для первоначального заполнения строки в DataGridView
.
Вот .xpo со всем примером MyDataGridViewFormWithFilter
Вы вы используете DataSource? Если нет, подумайте об использовании; он имеет свойство «Фильтр»! – TaW