Creating right click filter options for display field disCustName (Customer Name)
Add the override method 'Context' for the name field
public void context()
{
int selectedMenu;
formrun fr;
Args ag;
Name strtext;
querybuilddataSource qb1;
queryrun qr;
query q;
PopupMenu menu = new PopupMenu(element.hWnd());
int a = menu.insertItem('Filter By Field'); //2
int b = menu.insertItem('Filter By Selection'); //3
int c = menu.insertItem('Remove Filter'); //4
;
selectedMenu = menu.draw();
print selectedMenu;pause;
switch (selectedMenu)
{
case -1: //Filter by field
break;
case 2:
ag = new args('SysformSearch');
fr = new formrun(ag);
fr.run();
fr.wait();
//Reading User entered value for filter process
strtext = '';
strtext = fr.design().controlName('FindEdit').valueStr();
if(strtext)
{
//Creating a query for filter
q = smmBusRelTable_ds.query();
qb1 = q.dataSourceTable(tablenum(smmBusRelTable));
qb1 = qb1.addDataSource(TableNum(CustTable));
qb1.addLink(FieldNum(smmBusRelTable,CustAccount),FieldNum(CustTable,AccountNum));
//strtext = strreplace(disCustName.text(),',','*');
info(strtext);
qb1.addRange(FieldNum(CustTable,Name)).value(strtext);
smmBusRelTable_ds.query(Q);
info(qb1.toString());
smmBusRelTable_ds.executeQuery();
}
break;
case 3: // Filter By Selection
q = smmBusRelTable_ds.query();
qb1 = q.dataSourceTable(tablenum(smmBusRelTable));
//qb1.clearRanges();
qb1 = qb1.addDataSource(TableNum(CustTable));
qb1.addLink(FieldNum(smmBusRelTable,CustAccount),FieldNum(CustTable,AccountNum));
//info(disCustName.text());
strtext = strreplace(disCustName.text(),',','*');
qb1.addRange(FieldNum(CustTable,Name)).value(strtext);
smmBusRelTable_ds.query(Q);
info(qb1.toString());
//qr = new queryrun(smmBusRelTable_ds.query());
smmBusRelTable_ds.executeQuery();
break;
case 4 : // Remove Filter
q = new Query();
qb1 = q.addDataSource(tablenum(smmBusRelTable));
qb1.clearLinks();
qb1.clearRanges();
smmBusRelTable_ds.query(Q);
smmBusRelTable_ds.removeFilter();
break;
Default:
break;
}
}
Add the override method 'Context' for the name field
public void context()
{
int selectedMenu;
formrun fr;
Args ag;
Name strtext;
querybuilddataSource qb1;
queryrun qr;
query q;
PopupMenu menu = new PopupMenu(element.hWnd());
int a = menu.insertItem('Filter By Field'); //2
int b = menu.insertItem('Filter By Selection'); //3
int c = menu.insertItem('Remove Filter'); //4
;
selectedMenu = menu.draw();
print selectedMenu;pause;
switch (selectedMenu)
{
case -1: //Filter by field
break;
case 2:
ag = new args('SysformSearch');
fr = new formrun(ag);
fr.run();
fr.wait();
//Reading User entered value for filter process
strtext = '';
strtext = fr.design().controlName('FindEdit').valueStr();
if(strtext)
{
//Creating a query for filter
q = smmBusRelTable_ds.query();
qb1 = q.dataSourceTable(tablenum(smmBusRelTable));
qb1 = qb1.addDataSource(TableNum(CustTable));
qb1.addLink(FieldNum(smmBusRelTable,CustAccount),FieldNum(CustTable,AccountNum));
//strtext = strreplace(disCustName.text(),',','*');
info(strtext);
qb1.addRange(FieldNum(CustTable,Name)).value(strtext);
smmBusRelTable_ds.query(Q);
info(qb1.toString());
smmBusRelTable_ds.executeQuery();
}
break;
case 3: // Filter By Selection
q = smmBusRelTable_ds.query();
qb1 = q.dataSourceTable(tablenum(smmBusRelTable));
//qb1.clearRanges();
qb1 = qb1.addDataSource(TableNum(CustTable));
qb1.addLink(FieldNum(smmBusRelTable,CustAccount),FieldNum(CustTable,AccountNum));
//info(disCustName.text());
strtext = strreplace(disCustName.text(),',','*');
qb1.addRange(FieldNum(CustTable,Name)).value(strtext);
smmBusRelTable_ds.query(Q);
info(qb1.toString());
//qr = new queryrun(smmBusRelTable_ds.query());
smmBusRelTable_ds.executeQuery();
break;
case 4 : // Remove Filter
q = new Query();
qb1 = q.addDataSource(tablenum(smmBusRelTable));
qb1.clearLinks();
qb1.clearRanges();
smmBusRelTable_ds.query(Q);
smmBusRelTable_ds.removeFilter();
break;
Default:
break;
}
}
No comments:
Post a Comment