You need to sign in to do that
Don't have an account?
Mohan Raj 33
Jquery data table provide a milliseconds format in date value column
here I only struggle to get the normal apex date value like in mm/dd/yyyy format. please help me to get this... I here try to provide a ownerid update for the tasks. it's specified by the duedate in the my datepicker. and that search and update function i done by remote actions respectively. my code as followingly,
controller:
page:
For any response appreciated!!!!
controller:
//Remote function using updated the owner of the task public class TaskOwnerUpdate { public String dueDate { get; set; } public Set<Id> selectedTaskIdSet {get; set;} String ownerIdValue {get; set;} String selectedColumnValue {get; set;} public static List<Task> taskList { get; set;} public TaskOwnerUpdate() { } // empty constructor public List<Task>selectedtaskList {get; set;} public Task getOwnerIdTask() { return [SELECT OwnerId FROM TASK LIMIT 1]; } @RemoteAction public static List<Task> getTask (String dueDate) { system.debug('dueDate value is------>'+dueDate); List<String> stList = dueDate.split('"'); system.debug('stList value---->'+stList); List<String>s1 = stList[0].split(','); system.debug('stList[0] value is---->'+stList[0]); system.debug('stList[1] value is---->'+stList[1]); List<String> splitList = stList[1].split('/'); system.debug('splitList value is---->'+splitList); String dueDate1 = splitList[2]+'-'+splitList[0]+'-'+splitList[1]; taskList = [SELECT Id, Subject, Priority, Status, ActivityDate, Owner.Name, OwnerId FROM Task WHERE ActivityDate >= :Date.valueOf(dueDate1)]; system.debug('taskList- value is------>'+taskList); return taskList; } @RemoteAction public static List<Task> updateTask(String ownerIdValue, String selectedColumnValue ) { system.debug('OwnerId value is----->'+ownerIdValue); system.debug('selectedColumnValue value is---->'+selectedColumnValue); List<Task> updatedTaskList = new List<Task>(); Set<Id> idSet = new Set<Id>(); List<String> deserializeStringList = (List<String>)System.JSON.deserialize(selectedColumnValue, List<String>.class); system.debug('deserializeStringList value>>>>'+deserializeStringList); for (String strRecord : deserializeStringList) { Task taskRecord = new Task(); taskRecord.Id = Id.valueOf(strRecord); taskRecord.OwnerId = Id.valueOf(ownerIdValue); updatedTaskList.add(taskRecord); } if (updatedTaskList.size() > 0) { Update updatedTaskList; } return updatedTaskList; } }
page:
<apex:page controller="TaskOwnerUpdate"> <apex:form> <apex:includeScript value="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"/> <apex:includeScript value="https://ajax.microsoft.com/ajax/jquery.templates/beta1/jquery.tmpl.min.js"/> <apex:sectionHeader title="Task Ownership Update"/> <apex:pageBlock title="Tasks"> <!---- Section to draw search field for account-------> <apex:pageBlockSection title="Search Tasks" columns="2"> <apex:pageBlockSectionItem > <apex:inputText value="{!dueDate}" size="10" id="demo" onfocus="DatePicker.pickDate(false, this , false)">dueDate</apex:inputText> <apex:inputField value="{!OwnerIdTask.OwnerId}" id="owner"></apex:inputField> </apex:pageBlockSectionItem> </apex:pageBlockSection> <apex:pageBlockSection > <button onclick="getTask();return false;">Get Task</button> <button id = "button">Update</button> </apex:pageBlockSection> <apex:actionFunction name="callaction" oncomplete="getTask()" reRender="output"/> <!-- result section for showing matching accounts -------> <apex:outputPanel id="output"> <apex:pageBlockSection title="Matching Tasks !" columns="1"> <!-- Created Empty table using the CSS styles of visualforce pageBlockTable This gives same look and feel ------> <table cellspacing="0" cellpadding="0" border="0" id="searchResults" class="list "> <colgroup span="2"></colgroup> <thead class="rich-table-thead"> <tr class="headerRow "> <th colspan="1" scope="col" class="headerRow">Select</th> <!--<th colspan="1" scope="col" class="headerRow">Id</th>----> <th colspan="1" scope="col" class="headerRow">Subject</th> <th colspan="1" scope="col" class="headerRow">Priority</th> <th colspan="1" scope="col" class="headerRow">Status</th> <th colspan="1" scope="col" class="headerRow">ActivityDate</th> <th colspan="1" scope="col" class="headerRow">OwnerName</th> </tr> </thead> <!-- table body left empty for populating via row template using jquery-------> <tbody /> </table> </apex:pageBlockSection> </apex:outputPanel> <script id="resultTableRowTemplate" type="text/x-jquery-tmpl"> <tr onfocus="if (window.hiOn){hiOn(this);}" onblur="if (window.hiOff){hiOff(this);}" onmouseout="if (window.hiOff){hiOff(this);} " onmouseover="if (window.hiOn){hiOn(this);} " class="dataRow even first"> <td class="datacel">${Select}<input type = "checkbox" id="${Id}"/></td> <!---<td class="Idvalue">${Id}</td>------> <td class="datacell">${Subject}</td> <td class="dataCell">${Priority}</td> <td class="dataCell">${Status}</td> <td class="datecell">${ActivityDate}</td> <td class="datacell">${Owner.Name}</td> </tr> </script> </apex:pageBlock> <script type="text/javascript"> // if you are inside some component // use jquery nonConflict // var t$ = jQuery.noConflict(); console.log("check call correct"); function getTask() { var dueDate = $('[id$=":demo"]').val();//$('#demo').val(); console.log("check data",dueDate); // clear previous results, if any $("#searchResults tbody").html(''); // The Spring-11 gift from force.com. Javascript remoting fires here // Please note "abhinav" if my org wide namespace prefix // testremotingcontroller is the Apex controller // searchAccounts is Apex Controller method demarcated with @RemoteAction annotation. // DEPRECATED - abhinav.testremotingcontroller.searchAccounts( accountName, ...) // NEW - summer'12 approach for calling' dueDate = JSON.stringify(dueDate); Visualforce.remoting.Manager.invokeAction('{!$RemoteAction.TaskOwnerUpdate.getTask}', dueDate, function(result, event){ console.log("due date",dueDate); if (event.status && event.result) { $.each(event.result, function () { // for each result, apply it to template and append generated markup // to the results table body. $("#resultTableRowTemplate" ).tmpl(this).appendTo( "#searchResults tbody" ); } ); } else { alert(event.message); } }, {escape:true}); } </script> <script type="text/javascript"> console.log("check update correct"); $(function () { $('.datacel').click(function() { var allData = $(this).parent().parent().first().text(); console.log("allData value is>>>>",allData); //alert(allData); }); $('input:not(#button)').click(function () { t = $(this).attr('id'); text = $('.time' + t).text(); //alert(text); }); $('#button').click(function (e) { e.preventDefault(); var trs = $('table tr'); var values = trs.first().find('td'); // var idr = $('#Idvalue').val(); // console.log("idr value",idr); var values1 = $('table tr td :checkbox:checked').map(function () { console.log('\nId::::',$(this).attr('id')); return $(this).attr('id'); /*return $(this).closest('tr').find('td').text() + "==" + values.eq($(this).parent().index()).text(); console.log("id val",$(this).parent().find('td').eq(1).text()); return $(this).closest('td').find('td').eq(1).text()+ values.eq($(this).parent().intex()).text();*/ }).get(); console.log("values1",values1); getUpdate(values1); console.log("after passing vales1", values1); console.log("values1",values1); return values1; }); //alert(values1); //console.log("values1",values1); //return values1; //getUpdate(values1); }); function getUpdate(values1) { var taskRecord = JSON.stringify(values1); console.log("data type taskRecord",typeof(taskRecord)); console.log("task record value is>>>",taskRecord); var ownerIdValue = $('[id$="owner_lkid"]').val(); console.log("data type ownerIdValue",typeof(ownerIdValue)); //var ownerIdValue = document.getElementById('{!$Component.owner}').value; console.log("ownerId value is >>>>",ownerIdValue); console.log("values1 >>>>",values1); Visualforce.remoting.Manager.invokeAction('{!$RemoteAction.TaskOwnerUpdate.updateTask}', ownerIdValue, taskRecord, function(result, event){ if (event.status) { callaction(); } else { } }, {escape:true}); } </script> </apex:form> </apex:page>
For any response appreciated!!!!
May I suggest you to please check with below link from stack exchange community which might help you with above requirement.
- http://stackoverflow.com/questions/4673527/converting-milliseconds-to-a-date-jquery-js
Regards,Nagendra.
1st: on VF page:
Use this javascript to parse your response date in milliseconds 2nd: on Controller
Create a modal class and parse your date in respective formate before showing on page
just like :
thanks for your reply.but i don't know to provided result will be help to me. I am here using the datatable to provide the result of every time to click the gettask button. Like iterative so your first solution is possible for the my condition ? and please explain brief on your second solution with code for better understanding for myself please.