Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Welcome to First post ........
We can do a filtering(custom filter) on Project Center Dynamically. For instance Projet Center webpart is added on a Sitecolltion and while opening the site collection project Center should do a filtering based on a specific criteria
1. Sample code for extending Project Center is Available with SDK (CustomizeProjectCenter)
2. We have to attach a fuction to any of the event were we need to do the filtering on Project Center ( on the below sample code i have used onCellfocusChanged Event)
_grid.AttachEvent(SP.JsGrid.EventType.on, Cffilter);
3. Write a fuction for the filtering
function Cffilter(eventArgs) {
var a = {}
var sites = window.location.href;
var len = n.lastIndexOf("/");
var myString = n.substring(0, len+1);
var stname = n.replace(myString, "");
a.ClientFilterXml = '<Filter><FieldComparison><Field>7806971e-9291-49ea-ba75-dd726faffba6</Field><Operator>Equals</Operator><Operand>' + stname + '</Operand></FieldComparison></Filter>'
a.ServerFilterXml='<Filter xmlns:pwa=\"https://microsoft.com/ProjectServer/FilterSchema.xsd\"><Criteria><LogicalOperator logicalOperationType=\"Nop\"><FieldOperator fieldOperationType=\"Equal\"><CustomField fieldName=\"27955ccb-860b-45ec-8722-dfb02e6a2dca\" customFieldType=\"CodeValue\" ISMULTIVALUE=\"0\"/><Operand LTUID=\"89417fcc-768c-47aa-aa4b-d71bd979825e\">8f8ecc68-ed8a-4bfa-89d8-424db1353a64</Operand></FieldOperator></LogicalOperator></Criteria></Filter>'
projectCenterComponent.get_GridSatellite().HandleFilter(a)
}
Scenario : in This sample we are doing the filtering based on the site colleciton name and a custom field which is created in Project Server
This Project Level custom field should be present in the view
ServerFilterXml doenst have any effect on this, however a should have a dummy ServerFilterXml
ClientFilterXml parameter plays the role here
Parameters:
stname is the valiable based on which the filtering will be done
7806971e-9291-49ea-ba75-dd726faffba6 is the UID for Project Level Custom field.
4. Once you actiavate the feature on the site , above code will do the filtering...
Happy coding ......� Cheers .. Ajith ....