2015-09-06 2 views
0

Как фильтровать данные в DataGirdView. Этот DataGridView разработан с помощью управляемого управления хостом в Axe 2012. Все значения заполняются динамически, но необходимо добавить фильтр, например, стандартные формы Ax.DataGridView Data Filter

Спасибо,

+0

Вы вы используете DataSource? Если нет, подумайте об использовании; он имеет свойство «Фильтр»! – TaW

ответ

0

Хотя я не уверен, что вы имеете в виду именно с «добавить фильтр, как стандартные формы 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

+0

Hi FH_Inway, Это хороший ответ, но я не совсем ищу это решение. У меня есть большой объем данных, а во-вторых, пользователь вносит изменения в данные, которые мне нужно отправить после операции. По сообщению, когда когда-либо пользовательские фильтры мне нужно сохранять в таблице и извлекать данные, которые будут очень медленными и занимают много места из-за большой суммы данных. Можете ли вы предложить любую альтернативу? –