The other day, I wanted to filter a list view web part, triggered from a drop down list on my page. I couldn't connect to a standard out of the box filter web part because the dropdown values were populated with values retrieved from a web service. Every time I select a new value from the drop down, I wanted to automatically filter the sharepoint list with that value, without doing a full postback and refreshing the page (similar to the effect of when you filter a list from the list column options).
To start things off:
Copy the outer anchor tag's onclick event (this event triggers a partial post back to the page)
To start things off:
- I created a document library and created a new column called "DocType" with a few choices:
- Letter
- Memo
- I made sure the DocType column appeared on my default view (this will be the view I use to do my filtering later)
- I uploaded a few documents into my library, and provided the DocType for each
- On my site page, I added the list view web part for this Document Library
- From the AJAX Options under the list view web part settings:
- Check off Enable Asynchronous Update
- Show Manual Refresh Button
- Using IE developer tools, find the element for the refresh icon with the id of ManualRefresh
- Add a form web part to the same page
- Grab the ID in the __doPostBack call and replace it in this script, and put the script into the form web part and save.
<div style="width:400px; height:20px; margin:0px auto; padding-bottom:20px; font-family:Verdana,Arial,Helvetica,Sans-serif;font-size:10pt;"> Select Doc Type: <select id="ddlDocType"> <option></option> <option>Letter</option> <option>Memo</option> </select> </div> <script type='text/javascript' src='/assets/js/jquery-1.7.2.min.js'></script> <script type="text/javascript"> $(document).ready(function(){ //on the dropdown change event, call FilterMyList $("#ddlDocType").change(function(){ FilterMyList();; }); }); function FilterMyList() { //get the selected value of the drop down var selectedDocType = $("#ddlDocType").val(); if(selectedDocType == "" ) { //clears the filter __doPostBack("ctl00$m$g_95403266_84ab_485e_be73_8857b5d90f63$ctl02", "NotUTF8;__filter={DocType=" + "##dvt_all##" + "}"); return; } //filters the list on the selected docType __doPostBack("ctl00$m$g_95403266_84ab_485e_be73_8857b5d90f63$ctl02", "NotUTF8;__filter={DocType=" + selectedDocType + "}"); } </script>Now, when you select a value from the dropdown, it should automatically filter the list without a full postback
Is it possible to add more than one filter in the above postback function??
ReplyDeleteHi Paras/sweet p,
ReplyDeleteHave you found any solution to add multiple filters?If yes please help me out to solve this.
guy tang titanium toner with extra thick plating
ReplyDeleteThis super hot sauce, the guy's power supply titanium hottest, has a ray ban titanium whole host of different titanium nipple bars and t fal titanium pan I have tried titanium eyeglasses it.
s540x1dswfa531 sex chair,women sex toys,male sex toys,vibrators,rabbit vibrators,wolf dildo,Wand Massagers,cheap sex toys,dual stimulator j076g2zggyv250
ReplyDelete