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();
}
}
preview :
