Community Tip - Did you get an answer that solved your problem? Please mark it as an Accepted Solution so others with the same problem can find the answer easily. X
How Can I implement search functionality in Advance Grid, I have enabled the "Enable Grid Search" checkbox in the advance grid properties.
how can I configure so that I can start working?
please suggest if anyone has an idea
Solved! Go to Solution.
Hi,
As you suggested, this is what I wrote:
var params = {
url: "http://localhost:8020/vecv_services/api/shop",
proxyPort: undefined /* INTEGER */,
password: "Mestech@6" /* STRING */,
domain: undefined /* STRING */,
contentType: "application/json;charset=UTF-8" /* STRING */,
username: "mestech" /* STRING */
};
// result: JSON
var json = Resources["ContentLoaderFunctions"].GetText(params);
var obj = JSON.parse(json);
var paramsDS = {
infoTableName : "InfoTable",
dataShapeName : "Shop_DS_Harsha"
};
var infoTable = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape(paramsDS);
var dt = obj.data
//for (var elem in json)
for (var i=0; i<dt.length; i++)
{
var row = dt[i];
var shopCodeVal = row.shopCode;
var shopNameVal = row.shopName;
var descriptionVal = row.description;
var plantNameVal = row.plantName;
var shopIdVal = row.shopId;
infoTable.AddRow({shopCode:shopCodeVal,shopName:shopNameVal,description:descriptionVal,plantName:plantNameVal,
shopId:shopIdVal});
}
//var result = infoTable;
var params = {
t: infoTable /* INFOTABLE */,
query: query /* QUERY */
};
// result: INFOTABLE
var result = Resources["InfoTableFunctions"].Query(params);
and took query parameter in the input field and base type as infotable
but still its not working
can you please help me??
If you have enable the search option in advance grid ,then you can simply put the text which you want to search and that is available in grid .What do you mean my configuration after that ?
It is already configured ,just type the text in the search box and see the result in the grid .
I think i got your query in right fashion ,correct me if this is about something else .
Thanks,
Mukul Narang
yes but when I am entering text under the search text box and hitting the enter button it is doing nothing..
So, I thought there may be some configuration required.
following are the steps I did:
1) Load the service from which data is coming.
2)took a advance grid over the mashup
3)drag data from the service
4)enable the search option
and when I run the mashup and enter the text inside the search textbox it is not searching text.
please correct me If I am doing anything wrong?
So after enabling the search option ,do these two things
1) Map the filter event from grid properties to the service which is giving data to the grid
2) Map the QueryFilter event from properties to "query" parameter of your service parameters option .(There are parameter in service click on (+) sign of that and there will be a query ,map QueryFilter to this query )
Let me know if you are able to search ant text after this .
Thanks ,
Mukul Narang
yes I tried the steps which you have mentioned,
but I am calling rest API for getting the data
below is my service and there is not any query parameter
var params = {
url: "http://lt-153:8020/vecv_services/api/shop",
proxyPort: undefined /* INTEGER */,
password: "Mestech@6" /* STRING */,
domain: undefined /* STRING */,
contentType: "application/json;charset=UTF-8" /* STRING */,
username: "mestech" /* STRING */
};
// result: JSON
var json = Resources["ContentLoaderFunctions"].GetText(params);
var obj = JSON.parse(json);
var paramsDS = {
infoTableName : "InfoTable",
dataShapeName : "Shop_DS_Harsha"
};
var infoTable = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape(paramsDS);
var dt = obj.data
//for (var elem in json)
for (var i=0; i<dt.length; i++)
{
var row = dt[i];
var shopCodeVal = row.shopCode;
var shopNameVal = row.shopName;
var descriptionVal = row.description;
var plantNameVal = row.plantName;
var shopIdVal = row.shopId;
// var bodyVal = row.body;
infoTable.AddRow({shopCode:shopCodeVal,shopName:shopNameVal,
description:descriptionVal,plantName:plantNameVal,
shopId:shopIdVal});
}
var result = infoTable;
So, please enlighten me how should I map QueryFilter to Query param?
thanks a lot for your instant replies
Regards,
Harsha Joshi.
So basically you can add a query parameter to your infotable ,as i can see the code the final result is your infotable .So before returning the final infotable as result add a query parameter to the infotable and then return it in the code .And to add a query parameter you can write this code in the end (before returning the result )
var params = {
t: infoTable /* INFOTABLE */,
query: query /* QUERY */
};
// result: INFOTABLE
var result = Resources["InfoTableFunctions"].Query(params);
Let me know if you did not get it
Thanks ,
Mukul Narang
Hi,
As you suggested, this is what I wrote:
var params = {
url: "http://localhost:8020/vecv_services/api/shop",
proxyPort: undefined /* INTEGER */,
password: "Mestech@6" /* STRING */,
domain: undefined /* STRING */,
contentType: "application/json;charset=UTF-8" /* STRING */,
username: "mestech" /* STRING */
};
// result: JSON
var json = Resources["ContentLoaderFunctions"].GetText(params);
var obj = JSON.parse(json);
var paramsDS = {
infoTableName : "InfoTable",
dataShapeName : "Shop_DS_Harsha"
};
var infoTable = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape(paramsDS);
var dt = obj.data
//for (var elem in json)
for (var i=0; i<dt.length; i++)
{
var row = dt[i];
var shopCodeVal = row.shopCode;
var shopNameVal = row.shopName;
var descriptionVal = row.description;
var plantNameVal = row.plantName;
var shopIdVal = row.shopId;
infoTable.AddRow({shopCode:shopCodeVal,shopName:shopNameVal,description:descriptionVal,plantName:plantNameVal,
shopId:shopIdVal});
}
//var result = infoTable;
var params = {
t: infoTable /* INFOTABLE */,
query: query /* QUERY */
};
// result: INFOTABLE
var result = Resources["InfoTableFunctions"].Query(params);
and took query parameter in the input field and base type as infotable
but still its not working
can you please help me??
There is already a post on the same you can also refer to this -
https://community.ptc.com/t5/ThingWorx-Developers/Searching-for-entry-in-Advanced-Grid/td-p/530569
This also holds sample entities ,you can import them and see the sample for your use case .
If still you are not able to get it ,let me know .I will write a new sample and provide you .
Okay Thanks a lot for your help
Regards,
Harsha Joshi
Hi @Harsha11 Please mark this post Accept as solution so that it can be helpful for others in future.
Done.
Thanks for informing