Click here to Skip to main content
15,890,123 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
im trying to split a dataset over two repeaters, odds to left repeater, evens to right repeater. my code at the moment just divides the two, but i need odds to be one side and evens the other. here is my code. thanks in advance!

C#
DataView pageToView = (DataView)pagedRequests.DataSource;        
        
        DataTable leftContent = pageToView.Table.Clone();

        int divide = pagedRequests.Count / 2;



        for (int i = 0; i < divide; i++)
        {
            leftContent.ImportRow(pageToView.Table.Rows[i + pagedRequests.FirstIndexInPage]);
        }

        DataTable rightContent = pageToView.Table.Clone();
        for (int i = divide; i < pagedRequests.Count; i++)
        {
            rightContent.ImportRow(pageToView.Table.Rows[i + pagedRequests.FirstIndexInPage]);
        }


        favRepeaterLeft.DataSource = leftContent;
        favRepeaterLeft.DataBind();

        favRepeaterRight.DataSource = rightContent;
        favRepeaterRight.DataBind();
Posted
Updated 30-May-13 15:05pm
v2

1 solution

You can use the modulo[^] operator to check if a number is odd or even. You can probably do something like this on your code

C#
for(int i = 0; i < pagedRequests.Count; i++)
{
   if(i == 0 || i % 2 == 0) //even
   {
      rightContent.ImportRow(pageToView.Table.Rows[i + pagedRequests.FirstIndexInPage]);
   }
   else //odd
   {
      leftContent.ImportRow(pageToView.Table.Rows[i + pagedRequests.FirstIndexInPage]);
   }
}
 
Share this answer
 
Comments
nebiam 30-May-13 21:40pm    
Thanks for the quick response! Works perfectly!!! Thanks
walterhevedeich 30-May-13 21:50pm    
No problem.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900