Skip to main content La Trailblazer Community non sarà disponibile dal 1/2/2025 al 2/2/2025. Pianifica le tue attività di conseguenza.
Hi friends,

I am new to vf page development. My requirement is to bring 5*8 matrix format in page block table.Under Activity column I want bring repeated picklist for 5 rows. And for Sun to Sat columns to bring repeated input field text box for 5 rows. 

Here I have attached my code pls help on this.

My desired output is

User-added image

VF Page

 

<apex:page showHeader="false" sidebar="false" controller="timeentrydetails" >

<apex:form >

<apex:pageBlock title="Time Entry Details Page">

<apex:pageBlockButtons location="top" >

<apex:CommandButton value="Save"/>

<apex:CommandButton value="Submitted"/>

<apex:CommandButton value="Addrows"/>

<apex:CommandButton value="Back"/>

</apex:pageBlockButtons>

</apex:pageBlock>

</apex:form>

<apex:form >

<apex:pageBlock >

<apex:pageBlockTable value="{!Time_entry_dt_list }" var="tm">

<apex:column headerValue="Activity" />

<apex:column headerValue="SUN" />

<apex:column headerValue="MON" />

<apex:column headerValue="TUE" />

<apex:column headerValue="WED" />

<apex:column headerValue="THU" />

<apex:column headerValue="FRI" />

<apex:column headerValue="SAT" />

</apex:pageBlockTable>

</apex:pageBlock>

</apex:form>

</apex:page>

Controller

 

public class timeentrydetails {

Public Class Timeentrydetrow{

Public Id Tmrowid {get;set;}

Public String Activity {get;set;}

Public Integer Hour {get;set;}

}

Public List<Timeentrydetrow> Time_entry_dt_list {get;set;}

Public timeentrydetails(){

Time_entry_dt_list = new List<Timeentrydetrow>();

Timeentrydetrow tmd;

for(Time_Entry_Detail__c tmed : [Select Activity__c,Hour__c from Time_Entry_Detail__c ]){

Timeentrydetrow tr = new Timeentrydetrow();

}

}

}

Regards

Jayabalaji

 
3 risposte
  1. 17 ago 2016, 03:11
    Hi Jayabalaji,

    Please refer below sample code.

     

    <apex:page controller="demo_EXTN">

    <apex:form >

    <apex:pageBlock >

    <apex:variable value="{!0}" var="j"/>

    <apex:pageBlockTable id="row" value="{!matrix}" var="i">

    <apex:column headerValue="Quarter/Year">

    <apex:variable value="{!j+1}" var="j"/>

    <apex:repeat value="{!j}" var="q">

    <apex:outputText >Quarter YR{!q}</apex:outputText>

    </apex:repeat>

    </apex:column>

    <apex:column headerValue="Actual Year 1">

    <apex:inputText />

    </apex:column>

    <apex:column headerValue="Actual Year 2">

    <apex:inputText />

    </apex:column>

    <apex:column headerValue="Actual Year 3">

    <apex:inputText />

    </apex:column>

    <apex:column headerValue="Actual Year 4">

    <apex:inputText />

    </apex:column>

    <!--apex:column >

    <apex:repeat id="columns" value="{!matrix}" var="k" >

    <td>{!k}</td>

    </apex:repeat>

    </apex:column-->

    </apex:pageBlockTable>

    </apex:pageBlock>

    </apex:form>

    </apex:page>

    Controller

     

    public class demo_EXTN{

    public List<List<String>> matrix{get;set;}

    public demo_EXTN()

    {

    matrix = new List<List<String>>();

    List<Contact> contactList = [SELECT id, firstname FROM contact limit 4];

    system.debug(contactList);

    List<Account> accountList = [select id, name FROM Account limit 4];

    system.debug(accountList);

    List<String> row = new List<String>(); // You know that the top left String will be empty

    row.add('Acc/Contact'); // setup list of contact labels at top of grid/matrix

    for(Integer i = 0; i<contactList.size(); i++)

    {

    System.debug(contactList[i].firstname);

    row.add(contactList[i].firstname);

    } // add the first row to the grid

    matrix.add(row);

    System.debug(matrix); // Setup list of account labels in rows of grid

    for(Integer j=0; j<accountList.size(); j++)

    {

    row = new List<String>();

    System.debug(accountList[j].name);

    row.add(accountList[j].name);

    matrix.add(row);

    }

    system.debug(matrix);

    }

    }

    Hope this helps you!

    Please accept my solution as Best Answer if my reply was helpful. It will make it available for other as the proper solution. If you felt I went above and beyond, you can give me kudos.

     

    Thanks and Regards

    Sandhya

     
  2. 24 ago 2016, 05:19
    Hi Sandhya,

    Could u help on this requirement

    I am new to vf page development. I have custom object Time_entry_details. Fields are Activity__c, Hour__c Date__c and lookup field to time_entry__c.

    My vf Page look like this

    Here Activity is picklist and other columns are (SUN to SAT) Input text boxes.

    Scanario is

    I select one activity and enter hours in monday wednesday text box in any row. If i click on save button it should save in time_entry_details__c object. while retriving the record it should show in the same text boxes.

    Question is

    How to refer each text box to object. I am thinking in background we need to give some unique reference.... like in excel cell (A1,A2,A3...Like). How to do like that? If i am wrong please lead me.

    Herewith attached my vf page and controller. Please give me solution.

     

    01<apex:page showHeader="false" sidebar="false" controller="timeentrydetails" >

    02    <apex:form >

    03        <apex:pageBlock title="Time Entry Details Page - {!$CurrentPage.parameters.startDate} - {!$CurrentPage.parameters.endDate} ">

    04            <apex:pageBlockButtons location="top" >

    05                <apex:CommandButton value="Save" action="{!save1}"/>

    06                <apex:CommandButton value="Submitted"/>

    07                <apex:CommandButton value="Addrows" action="{!addrows5}" reRender="row"/>

    08                <apex:CommandButton value="Back" action="{!back1}"/>

    09            </apex:pageBlockButtons>

    10 

    11              

    12            <apex:pageBlockTable id="row" value="{!Tedt_list}" var="i">

    13                <apex:column headerValue="Activity" >

    14  

    15                                    <apex:selectList multiselect="false" size="1" >

    16                                        <apex:selectOption itemValue="--Select--" itemLabel="--Select--"/>

    17                                        <apex:selectOption itemValue="Analysing"itemLabel="Analysing"/>

    18                                        <apex:selectOption itemValue="Designing"itemLabel="Designing"/>

    19                                        <apex:selectOption itemValue="Code Developing"itemLabel="Developing"/>

    20                                        <apex:selectOption itemValue="Testing"itemLabel="Testing"/>

    21                                    </apex:selectList>

    22                               </apex:column>            

    23 

    24                       <apex:column headerValue="SUN">

    25                       <apex:inputText size="10" />

    26                       </apex:column>

    27                        

    28                       <apex:column headerValue="MON">

    29                       <apex:inputText size="10" />

    30                       </apex:column>

    31                        

    32                       <apex:column headerValue="TUE">

    33                       <apex:inputText size="10" />

    34                       </apex:column>

    35                        

    36                       <apex:column headerValue="WED">

    37                       <apex:inputText size="10" />

    38                       </apex:column>

    39 

    40                       <apex:column headerValue="THU">

    41                       <apex:inputText size="10" />

    42                       </apex:column>

    43                        

    44                       <apex:column headerValue="FRI">

    45                       <apex:inputText size="10" />

    46                       </apex:column>

    47                        

    48                       <apex:column headerValue="SAT">

    49                       <apex:inputText size="10" />

    50                       </apex:column>

    51                       

    52                 

    53            </apex:pageBlockTable>

    54         

    55        </apex:pageBlock>

    56     

    57     

    58    </apex:form>

    59       

    60  

    61</apex:page>

    Controller is

     

    view sourceprint?

    01public class timeentrydetails {

    02 

    03 

    04    Public Class Tedrow{

    05        Public Id Tedid {get;set;}

    06        Public Id Teid {get;set;}

    07        Public Date Date1{get;set;}

    08        Public String Activity {get;set;}

    09        Public Integer Hour {get;set;}

    10        Public String Uniid {get;set;}

    11        Public String Day {get;set;}

    12     

    13    }

    14     

    15   

    16     public List<Time_Entry_Detail__c> Tedt_list {get;set;}

    17     public List<Tedrow> Tedrow_list {get;set;}

    18      

    19    Public timeentrydetails(){

    20     

    21        string teid = apexpages.currentpage().getparameters().get('id').trim();

    22        system.debug(teid);

    23        string tesdate = apexpages.currentpage().getparameters().get('startDate');

    24        system.debug(tesdate);

    25        string teedate = apexpages.currentpage().getparameters().get('endDate');

    26        system.debug(teedate);

    27        Tedt_list = new List<Time_Entry_Detail__c>();

    28        Tedrow_list = new List<Tedrow>();

    29        Tedrow Tedrow_item = new Tedrow();

    30         

    31        if(teid!=null && teid!= '')

    32        {

    33            id timedetailid = (id) teid;

    34            Tedt_list = [select id, name,Time_Entry__c,Activity__c,Date__c,Hour__c,Date_Day_value__c FROM Time_Entry_Detail__cwhere Time_Entry__c =:timedetailid and ownerid =:userinfo.getuserid() limit 150];

    35        }

    36 

    37        for(integer i=Tedt_list.size();i<5;i++)

    38        {

    39             Time_Entry_Detail__c tedt = new Time_Entry_Detail__c();

    40             Tedt_list.add(tedt);

    41        }     

    42   

    43        for(Time_Entry_Detail__c ted_item  :Tedt_list )

    44        {

    45               Tedrow_item.Activity = ted_item.Activity__c;

    46               Tedrow_item.Date1=ted_item.Date__c;

    47               Tedrow_item.hour = (integer) ted_item.Hour__c;

    48               Tedrow_item.day = ted_item.Date_Day_value__c; //checking if date is not null

    49               Tedrow_item.Tedid = ted_item.id;

    50               Tedrow_item.Teid = ted_item.Time_Entry__c;

    51        }

    52}

    53 

    54Public void addrows5(){

    55      

    56  for(integer i=0;i<5;i++)

    57            {

    58             Time_Entry_Detail__c tedt = new Time_Entry_Detail__c();

    59             Tedt_list.add(tedt);

    60            }

    61}

    62  

    63 

    64public PageReference back1() {

    65 

    66    PageReference reRend = new PageReference('/apex/timeentryexp');

    67    reRend.setRedirect(false);

    68    return reRend;

    69 

    70}

    71 

    72Public void save1(){

    73 

    74 

    75 

    76}

    77 

    78 

    79 

    80 

    81 

    82 

    83 

    84 

    85}

     
0/9000