none
Таблица на web-части RRS feed

  • Общие обсуждения

  • Сделал web-часть в VS2012 для SP2010.

    На форму положил таблицу (System.Web.UI.WebControls.Table)

    И две кнопки.

    При нажатии одной- заполняется таблица.

    При нажатии второй, эти данные должны быть записаны в список.

    НО! При нажатии таблица очищается.

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

    Вопрос- как победить?

    Выбор на Table пал, потому что я не хочу использовать дополнительные базы данных и прочее. + В таблице есть колонки, которые заполняются процедурой и колонка, которую заполняет пользователь.

    5 февраля 2014 г. 12:19

Все ответы

  • Используй компонент  UpdateProgress чтоб POSTBACK происходил только внутри таблицы.

    Ну или настройками выставь правильный POSTBACK.

    Напиши свой код сюда, посмотрю что у тебя там.

    5 февраля 2014 г. 15:09
  • using System;
    using System.ComponentModel;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.WebControls;
    
    namespace Test.VisualWebPart1
    {
        [ToolboxItemAttribute(false)]
        public partial class VisualWebPart1 : WebPart
        {
            public VisualWebPart1()
            {
            }
    
            protected override void OnInit(EventArgs e)
            {
                base.OnInit(e);
                InitializeControl();
            }
    
            protected void Page_Load(object sender, EventArgs e)
            {
                TableRow row = new TableRow();
                TableCell cell = new TableCell();
                cell.Text = "asdf";
                row.Cells.Add(cell);
                Table1.Rows.Add(row);
            }
    
            protected void Button1_Click(object sender, EventArgs e)
            {
                TableRow row1 = new TableRow();
                TableCell cell1 = new TableCell();
                cell1.Text = "asdf1";
                row1.Cells.Add(cell1);
                Table1.Rows.Add(row1);
    
            }
        }
    }
    

    Там две кнопки , Button1  и Button2 . При нажатии Button2 отрабатывает код из процедуры Page_Load(), и естественно не добавляется(а точнее- очищаются все строки в таблице) строка row1. А мне с ней то работать и надо.
    5 февраля 2014 г. 17:58
  • Я просто от web-кодинга далек. Но я так понял, что если я динамически добавляю объекты в коде, то они при рилоадинге странице пропадают. Остаются только те, которые заданы изначально в конструкторе.

    Тогда вопрос- а зачем тогда вообще возможность динамического добавления?

    5 февраля 2014 г. 18:16
  • protected void Page_Load(object sender, EventArgs e)
            {
                if (!IsPostBack)
                {
                    TableRow row = new TableRow();
                    TableCell cell = new TableCell();
                    cell.Text = "asdf";
                    row.Cells.Add(cell);
                    Table1.Rows.Add(row);
                }
            }
    Попробуй вот так.
    6 февраля 2014 г. 6:40
  • Не помогает.
    6 февраля 2014 г. 11:58
  • А полностью проект можешь скинуть?  Вот сюда itprodavets@gmail.com или к тебе подключиться по TeamViewer.

    А вообще используй компонент UpdateProgress. Помести туда все и будет у тебя все хорошо. У тебя проблема в том, что при нажатии кнопки у тебя происходит POSTBACK. 

    У тебя в таблицу данные попадают с БД? 

    7 февраля 2014 г. 6:54
  • В таблицу данные из запроса к списку Sharepoint.

    Потом пользователь заполняет данные в доп. колонке и я записываю данные опять таки в список ШП(только другой)

    Всё кажется элементарно, но не проходит.

    Сейчас попробую с UpdateProgress-ом.

    7 февраля 2014 г. 8:07
  • По подробнее пожалуйста с таблицей ( пользователь заполняет таблицу? ) Или добавь меня в Skype. Ник такой же как тут. Я не имею телепатических способностей, чтоб знать что у тебя там. Но мне кажется ты пытаешься при загрузки таблицы - появляются данные их дополняют в самой таблице после ты нажимаешь на кнопку и хочешь чтоб все дынные куда то сохранились или попали. Но так по моему мнению нельзя. В таблице должны быть элементы например тот же TextBox.
    7 февраля 2014 г. 8:33
  • Правильно. Я в последнюю колонку добавляю TextBox. Вот её пользователь то и заполняет. В итоге по нажатию кнопки вся таблица записывается в список ШП.

    Ник скажи в скайпе(не поёму как тут его посмотреть)

    9 февраля 2014 г. 13:51
  • Skype: ............
    10 февраля 2014 г. 7:43
  • Здравствуйте,

    Я перевел Ваш вопрос в разряд обсуждений, но у меня просьба к Вам, после того, как решите проблему отписаться здесь, потому что это будет полезно и для и других пользователей.


    Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий.

    12 февраля 2014 г. 6:00
    Модератор