Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Table + многострочность, или просто посоветуйте 
V
    Опции темы
4ybaka
Дата 28.12.2007, 01:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 370
Регистрация: 28.4.2007

Репутация: нет
Всего: нет



нужно написать чтото вроде новостей на сайте.первое что пришло в голову - заполнять табличку.но тогда появляется проблема с переносом строк(если текст большой то правая часть страницы уезжает на дальний восток).поэтому нужно либо решить проблему с переносом(кот меня сильно удивляет...),либо придумать чтото другое.жду предлжений  smile 


--------------------
"То,что вы понимаете - это все,что вы понимаете."
 Брайн Керниган
PM MAIL WWW   Вверх
thomas
Дата 28.12.2007, 02:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доцент... почти
***


Профиль
Группа: Завсегдатай
Сообщений: 1385
Регистрация: 3.10.2006
Где: " Сказочное королевство"

Репутация: нет
Всего: 65



используй слои. (div)
насколько я понял сейчас при верстке сайтов не кашерно использовать таблицы.
практически все пользуют слои и стили.(css)



--------------------
Крепко жму горло, искренне ваш Thomas. (С)vingrad
Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну!
Проблемы негров шерифа не волнуют.
PM MAIL   Вверх
Mymik
Дата 28.12.2007, 09:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

Репутация: 50
Всего: 78



thomas, использование таблицы это дело вкуса. Тем более табличные данные (статистика какая-нибудь) ты не будешь использовать таблицы.

4ybaka, Можешь привести небольшой фрагмент кода с твоими новостями ??? или где их можно посмотреть.
Очень и очень велика вероятность того, что родительский контейнер у тебя растянут на 100% плюс ко всему у таблицы тоже стоит width="100%" задай таблице нужные тебе размеры и тогда все будет работать  smile 


--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
4ybaka
Дата 28.12.2007, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 370
Регистрация: 28.4.2007

Репутация: нет
Всего: нет



новости имеют: тему,дату публикования,автора,само сообщение.
втаблице сначала заполняю одну строку первыми 3 записями,а само сообщение пишу в следующей строке.
на странице есть masterPage,и таблица находится в Content'е:
Код

<asp:Content ID="Content1" runat="server" ContentPlaceHolderID="ContentPlaceHolder1">
    <asp:Table ID="Table1" runat="server" Height="4px" Width="705px"></asp:Table>
</asp:Content>



Это сообщение отредактировал(а) 4ybaka - 28.12.2007, 11:16


--------------------
"То,что вы понимаете - это все,что вы понимаете."
 Брайн Керниган
PM MAIL WWW   Вверх
Mymik
Дата 28.12.2007, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

Репутация: 50
Всего: 78



покажи сгенерированный html код и покажи как ты его генерируешь (как ты добавляешь контролы в Table)


--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
4ybaka
Дата 28.12.2007, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 370
Регистрация: 28.4.2007

Репутация: нет
Всего: нет



добавление строк:
Код

    private void FillNewsTable() {
        DataTable table = DataClass.GetTable("select * from News");
        DataTable usersTable = DataClass.GetTable("select * from LoginData");
        TableRow tr;
        TableCell tc;

        int num = 0;
        while (table.Rows.Count - num > newsPerPage)
            num++;

        for (int i = table.Rows.Count - 1; i >= num; i--) {
            tr = new TableRow();

            tc = new TableCell();
            tc.Text = "Тема: " + table.Rows[i]["MsgTheme"].ToString();
            tr.Cells.Add(tc);

            tc = new TableCell();
            tc.Text = "Дата: " + table.Rows[i]["MsgDate"].ToString();
            tr.Cells.Add(tc);

            tc = new TableCell();
            tc.Text = "Автор: " + DataClass.GetUserName(Convert.ToInt32(table.Rows[i]["MsgAuthorID"]));
            tr.Cells.Add(tc);

            Table1.Rows.Add(tr);

            tr = new TableRow();
            tr.Font.Italic = true;
            tc = new TableCell();
            tc.Text = table.Rows[i]["Msg"].ToString();
            tr.Cells.Add(tc);

            Table1.Rows.Add(tr);
        }            
    }


код html
Код

 <td style="width: 801px; height: 427px" valign="top">
                    
    <table id="ctl00_ContentPlaceHolder1_Table1" border="0" style="height:4px;width:705px;">
    <tr>
        <td>Тема: 2</td><td>Дата: 27.12.2007 0:00:00</td><td>Автор: </td>
    </tr><tr style="font-style:italic;">
        <td>аовырврпловарплоаврплоаврлопавлопррпрдыжвадыфвравварлырадыовфрадыфрвдыфвдыфрвдфывроыфрвлфыовлыфрвыфрвфыо</td>
    </tr><tr>
        <td>Тема: Продолжение работ</td><td>Дата: 27.12.2007 17:00:00</td><td>Автор: 4ybaka</td>
    </tr><tr style="font-style:italic;">
        <td>Страницы: Новости,Фото,Аутентификация пользователей.</td>
    </tr><tr>
        <td>Тема: Начало работы</td><td>Дата: 26.12.2007 20:00:00</td><td>Автор: 4ybaka</td>
    </tr><tr style="font-style:italic;">
        <td>Начало работы над сайтом.</td>
    </tr>
</table>
</td>



--------------------
"То,что вы понимаете - это все,что вы понимаете."
 Брайн Керниган
PM MAIL WWW   Вверх
Mymik
Дата 28.12.2007, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

Репутация: 50
Всего: 78



Нужно немного исправить правило генерации таблицы.
Код

private void FillNewsTable() {
        DataTable table = DataClass.GetTable("select * from News");
        DataTable usersTable = DataClass.GetTable("select * from LoginData");
        TableRow tr;
        TableCell tc;
        int num = 0;
        while (table.Rows.Count - num > newsPerPage)
            num++;
        for (int i = table.Rows.Count - 1; i >= num; i--) {
            tr = new TableRow();
            tc = new TableCell();
            tc.Text = "Тема: " + table.Rows[i]["MsgTheme"].ToString();
            tr.Cells.Add(tc);
            tc = new TableCell();
            tc.Text = "Дата: " + table.Rows[i]["MsgDate"].ToString();
            tr.Cells.Add(tc);
            tc = new TableCell();
            tc.Text = "Автор: " + DataClass.GetUserName(Convert.ToInt32(table.Rows[i]["MsgAuthorID"]));
            tr.Cells.Add(tc);
            Table1.Rows.Add(tr);
            tr = new TableRow();
            tr.Font.Italic = true;
            tc = new TableCell();
            tc.Text = table.Rows[i]["Msg"].ToString();

            /* Добавленная строка */
            tc.ColumnSpan = 3;
            /* Добавленная строчка */

            tr.Cells.Add(tc);
            Table1.Rows.Add(tr);
        }            
    }

tc.ColumnSpan = 3; Эта строчка говорит браузеру, о том, что данная ячейка объединяет в себе три ячейки и тогда у тебя не будет "уезжает на дальний восток".

Это сообщение отредактировал(а) Mymik - 28.12.2007, 14:44


--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
4ybaka
Дата 28.12.2007, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 370
Регистрация: 28.4.2007

Репутация: нет
Всего: нет



Mymik, спасибо,это улучшило положение дел,но до конца проблему не решило.
справа от таблицы есть элемент список,и вот он как раз уезжает,если строка в таблице очень большая.те нужен перенос строки внутри строки таблицы  smile


--------------------
"То,что вы понимаете - это все,что вы понимаете."
 Брайн Керниган
PM MAIL WWW   Вверх
Zakonnic
Дата 28.12.2007, 15:28 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 25.4.2006

Репутация: 3
Всего: 6



Гхм. Ты не поверишь, но перенос работает! Только по словам smile
Ну в смысле - никак нельзя на слова разбить эту мегадлинную строку? Странные какие-то новости.

Это сообщение отредактировал(а) Zakonnic - 28.12.2007, 15:38
--------------------
...и никогда не пишите в комментариях правду
PM MAIL ICQ   Вверх
4ybaka
Дата 28.12.2007, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 370
Регистрация: 28.4.2007

Репутация: нет
Всего: нет



Zakonnic, дай поцелую! smile 
тяжело тестить,когда ни вдохновения на написания нормального теста, ни мозгов нету)
всем спасибо


--------------------
"То,что вы понимаете - это все,что вы понимаете."
 Брайн Керниган
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0554 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.