CSS POSITION absolute vs relative, how to push down content relative to the row results of a datagrid?


Hello,

I am having a problem with a datagrid that spits out any number of rows depending upon the query.  I need to have multiple input controls underneath the results.  The problem is that the datagrid just runs into (over) the input controls.  

I tried placing the input controls in a container like so:

<asp:panel style="position:relative">
   <input type=text>
   <br>
   <input type=text>
   <br>
   <input type=text>
   <br>
   <input type=text>
</asp:panel>

What is the best way to handle this?  I thought there was a way to make the container relative and therefore dynamic.  This article is good, but I don't have enough information to make it work:

http://www.stopdesign.com/also/articles/absolute/

Thanks very much!
ee_idAsked:
Who is Participating?
 
KavarConnect With a Mentor Commented:
your offset is going to be 30

the control1 is the last control / element on the page  each element will always take up the same space, without imperical data, just pick 30, so... to get the top, just mutliply 30 * number of items, (which you can calculate or use your script to find the number of elements after they are written)

maybe the elements are only 20 tall... that being the case change your multiplier and test,

I have found that in many cases, the one time work arounds save hours of programming.  The truly great programmers know when to use a work around and when to buckle down and use the "Real" answer.  We can try and work on the "Real" Solution if you like, but in the interest of time, I think this other method will suffice.

Let me know :)
0
 
KavarCommented:
set the position to the control you want to be relative to, to absolute, then set the position of these controls to absolute with a value of the other controls position plus the offset..

i.e.

control1.style.postion="absolute"
control2.style.postion="absolute"
control2.style.top=cstr(int(replace(control1.style.top),"px","") + OFFSET) & "px"
control2.style.left=cstr(int(replace(control1.style.left),"px","") + OFFSET) & "px"

my idiom is:
If you can't beatem, ignore 'em

:}
0
 
ee_idAuthor Commented:

Ok, I follow what you ar trying to do, but forgive me for asking how you propose finding the OFFSET... the input fields need to be consistently positioned about 30px from the bottom of the last record.  Remeber, the number of record results can be from 0 to infiniti =)
0
 
KavarCommented:
use a script that that finds the absolute position of the last item...
0
 
ee_idAuthor Commented:
I agree- work smart not hard.  You have earned your points!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.