Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как определить высоту <table> из java-скрипта? / 3 сообщений из 3, страница 1 из 1
18.09.2006, 11:48
    #33993419
Kroket
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить высоту <table> из java-скрипта?
На Web - форме GridView.
Высота строк задана 18 px.
Но при запуске формы высота строк может варьироваться, в связи с тем что строки
могут быть разной длины. Строка может разбиваться на 2, 3 и т.д.
То есть врапится в зависимости от длины.

Естественно GridView в конечном html - коде представлен в виде объекта
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
<table style="width:300px;left: 0px;>
	<tr style="height:18px;"> 
		<td>Первая запись</td>
	</tr>

	<tr style="height:18px;"> 
		<td>Вторая запись</td>
	</tr>

	<tr style="height:18px;"> 
		<td>Третья запись</td>
	</tr>

</table>


У меня есть скрипт, который должен определить реальную высоту объекта <table>,
чтобы внизу динамически поместить объект <div>, содержащий контролы.

У всех строк может фактически разная высота, в зависимости от дины текста
А если скриптом обращаться к стилям, то все время получаю 18 px.

Как то можно получить реальную высоту <table> или <tr> в конечном html - коде???

Пробовал цикл сделать по строкам и в зависмости от длины строки определять коеффициент высоты строк.
Но блин шрифт не моноширинный и все зависит от символов и регистра.
Вариант не универсален. Другой шрифт использовать нельзя.
...
Рейтинг: 0 / 0
18.09.2006, 12:21
    #33993540
papuas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить высоту <table> из java-скрипта?
KroketНа Web - форме GridView.
Высота строк задана 18 px.
Но при запуске формы высота строк может варьироваться, в связи с тем что строки
могут быть разной длины. Строка может разбиваться на 2, 3 и т.д.
То есть врапится в зависимости от длины.

Естественно GridView в конечном html - коде представлен в виде объекта
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
<table style="width:300px;left: 0px;>
	<tr style="height:18px;"> 
		<td>Первая запись</td>
	</tr>

	<tr style="height:18px;"> 
		<td>Вторая запись</td>
	</tr>

	<tr style="height:18px;"> 
		<td>Третья запись</td>
	</tr>

</table>


У меня есть скрипт, который должен определить реальную высоту объекта <table>,
чтобы внизу динамически поместить объект <div>, содержащий контролы.

У всех строк может фактически разная высота, в зависимости от дины текста
А если скриптом обращаться к стилям, то все время получаю 18 px.

Как то можно получить реальную высоту <table> или <tr> в конечном html - коде???

Пробовал цикл сделать по строкам и в зависмости от длины строки определять коеффициент высоты строк.
Но блин шрифт не моноширинный и все зависит от символов и регистра.
Вариант не универсален. Другой шрифт использовать нельзя.

Майкрософт использует вот эту функцию:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
function WebForm_GetElementPosition(element) {

    var result = new Object();

    result.x =  0 ;

    result.y =  0 ;

    result.width =  0 ;

    result.height =  0 ;

    if (element.offsetParent) {

        result.x = element.offsetLeft;

        result.y = element.offsetTop;

        var parent = element.offsetParent;

        while (parent) {

            result.x += parent.offsetLeft;

            result.y += parent.offsetTop;

            var parentTagName = parent.tagName.toLowerCase();

            if (parentTagName != "table" &&

                parentTagName != "body" && 

                parentTagName != "html" && 

                parentTagName != "div" && 

                parent.clientTop && 

                parent.clientLeft) {

                result.x += parent.clientLeft;

                result.y += parent.clientTop;

            }

            parent = parent.offsetParent;

        }

    }

    else if (element.left && element.top) {

        result.x = element.left;

        result.y = element.top;

    }

    else {

        if (element.x) {

            result.x = element.x;

        }

        if (element.y) {

            result.y = element.y;

        }

    }

    if (element.offsetWidth && element.offsetHeight) {

        result.width = element.offsetWidth;

        result.height = element.offsetHeight;

    }

    else if (element.style && element.style.pixelWidth && element.style.pixelHeight) {

        result.width = element.style.pixelWidth;

        result.height = element.style.pixelHeight;

    }

    return result;

}

...
Рейтинг: 0 / 0
19.09.2006, 09:05
    #33995695
Kroket
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить высоту <table> из java-скрипта?
Огромное спасибо :)
Все работает на ура
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как определить высоту <table> из java-скрипта? / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]