on AOT dataset method init() :
X++ code on init method example:
public void init() { super(); DNLLeaveRequest.DNLEmplRecId = DNLEmployeeTable::findByUserId().RecId; DNLLeaveRequest.LeaveDateFrom = today(); DNLLeaveRequest.LeaveDateTo = today(); }
or you can code it on Tables\initvalue()
XML code on visual studio for EP pages :
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="TIDDNLLeaveRequestEP.ascx.cs" Inherits="TIDDNLLeaveRequestEP" %> <dynamics:AxDataSource ID="AxDataSource1" runat="server" DataSetName="TIDLeaveRequestDS" ProviderView="DNLLeaveRequest" oninitializeddatasetrun="AxDataSource1_InitializedDataSetRun"> </dynamics:AxDataSource> <dynamics:AxForm ID="AxForm1" runat="server" DataSourceID="AxDataSource1" DataKeyNames="RecId,Added,AdvanceUsed,BlankLeave,carryused,ContactPhone,createdBy,createdDateTime,dataAreaId,DNLEmplRecId,DNLLeaveTypeRecId,IdApproval,IdPersonSubstitute,LeaveDateFrom,LeaveDateTo,modifiedBy,modifiedDateTime,Remarks,RequestDate,State,StatusFlag,SubmittedBy,SubmittedDateTime,TableId,TotalLeaveDays,TravellingLocation,getEmplName**,GetEntitlement**,getExpiration**,getLeaveDesc**,mostRecentComment**,requiredActionDueDate**,titleFields**" DataMember="DNLLeaveRequest_Current" AutoGenerateInsertButton="True" DefaultMode="Insert" UpdateOnPostBack="true" oninit="AxForm1_Init" > <dynamics:AxMultiColumn ID="AxMultiColumn1" runat="server"> <dynamics:AxColumn ID="AxColumn2" runat="server"> <dynamics:AxGroup ID="groupLeaveRequest" runat="server" FormID="AxForm1" Caption="Leave Request" CaptionAlign="Top" HorizontalAlign="Left" Width="300px"> <Fields> <dynamics:AxReferenceBoundField DataField="DNLEmplRecId" DataSet="TIDLeaveRequestDS" DataSetView="DNLLeaveRequest" SortExpression="DNLEmplRecId" Mandatory="True"> </dynamics:AxReferenceBoundField> <dynamics:AxReferenceBoundField AutoPostBack="True" DataField="DNLLeaveTypeRecId" DataSet="TIDLeaveRequestDS" DataSetView="DNLLeaveRequest" SortExpression="DNLLeaveTypeRecId" Mandatory="True"> </dynamics:AxReferenceBoundField> <dynamics:AxBoundField AutoPostBack="True" DataField="LeaveDateFrom" DataSet="TIDLeaveRequestDS" DataSetView="DNLLeaveRequest" SortExpression="LeaveDateFrom"> </dynamics:AxBoundField> <dynamics:AxBoundField AutoPostBack="True" DataField="LeaveDateTo" DataSet="TIDLeaveRequestDS" DataSetView="DNLLeaveRequest" SortExpression="LeaveDateTo" Mandatory="True" > </dynamics:AxBoundField> <dynamics:AxBoundField AutoPostBack="True" DataField="Remarks" DataSet="TIDLeaveRequestDS" DataSetView="DNLLeaveRequest" SortExpression="Remarks"> </dynamics:AxBoundField> <dynamics:AxBoundField AutoPostBack="True" DataField="TotalLeaveDays" DataSet="TIDLeaveRequestDS" DataSetView="DNLLeaveRequest" SortExpression="TotalLeaveDays"> </dynamics:AxBoundField> <dynamics:AxBoundField DataField="GetEntitlement**" DataSet="TIDLeaveRequestDS" DataSetView="DNLLeaveRequest" ReadOnly="True"> </dynamics:AxBoundField> </Fields> </dynamics:AxGroup> </dynamics:AxColumn> </dynamics:AxMultiColumn> </dynamics:AxForm>
C# code on visual studio for EP pages
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.DataVisualization.Charting; using System.Web.UI.WebControls; using Microsoft.Dynamics.Framework.Portal.UI.WebControls; using Microsoft.Dynamics.Framework.Portal.UI.WebControls.WebParts; using Microsoft.Dynamics.AX.Framework.Portal.Data; using Microsoft.Dynamics.AX.Framework.Services.Client; using Microsoft.Dynamics.Framework.BusinessConnector.Session; using Microsoft.Dynamics.Framework.BusinessConnector.Adapter; using Microsoft.Dynamics.Framework.Portal; using Microsoft.Dynamics.Framework.BusinessConnector.Proxy; public partial class TIDDNLLeaveRequestEP : System.Web.UI.UserControl { DateTime dateFrom; DateTime dateTo; Int64 recIdLeaveType; #region customMethod private ISession AxSession { get { AxBaseWebPart webPart = AxBaseWebPart.GetWebpart(this); return webPart == null ? null : webPart.Session; } } static AxBoundField GetField(DataControlFieldCollection fields, string name) { foreach (DataControlField field in fields) { // Is this the field being searched for? AxBoundField boundField = field as AxBoundField; if (boundField != null && String.Compare(boundField.DataField, name, true) == 0) { return boundField; } } // Nothing found, so return null. return null; } private DataSetViewRow CurrentRow { get { try { DataSetView dataSetView; dataSetView = this.AxDataSource1.GetDataSet().DataSetViews["DNLLeaveRequest"]; return (dataSetView == null) ? null : dataSetView.GetCurrent(); } catch (System.Exception) { return null; } } } #endregion customMethod protected void AxForm1_Init(object sender, EventArgs e) { //this.loadFirst(); this.AxForm1.DefaultMode = DetailsViewMode.Insert; this.AxForm1.AutoGenerateInsertButton = true; AxBoundField axbfNoNPK; axbfNoNPK = GetField(groupLeaveRequest.Fields, "DNLEmplRecId"); axbfNoNPK.ReadOnly = true; } protected void Page_Load(object sender, EventArgs e) { } protected void AxDataSource1_InitializedDataSetRun(object sender, AxDataSourceDataSetEventArgs e) { e.DataSet.Init(); } }
Reblogged this on gsbsrk.