如何在DataGirdView中过滤数据。此DataGridView是从Ax 2012中的托管主机控件开发的。所有的值都是动态填充的,但需要像标准的Ax表单一样添加过滤器。
谢谢,
发布于 2015-09-11 22:39:13
虽然我不确定您所说的“像标准Ax表单一样添加筛选器”是什么意思,但我非常确定有更好的方法来实现这一点,下面是我对向使用DataGridView托管宿主控件来显示数据的AX表单添加一个简单的筛选器函数的看法。
这基于教程Using Managed Host Control in Microsoft Dynamics AX 2012,我在其中添加了一个用于输入筛选条件的StringEdit控件和一个用于删除筛选器的按钮。
在StringEdit控件的modified方法中,DataGridView的行将被清除,并根据筛选条件用值重新填充。变量filterValue是AutoDeclaration设置为Yes的StringEdit控件。
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行时使用的代码相同。
下面是一个包含整个MyDataGridViewFormWithFilter示例的.xpo
https://stackoverflow.com/questions/32422900
复制相似问题