powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Объявить DataTable
67 сообщений из 67, показаны все 3 страниц
Объявить DataTable
    #38784108
antihacker777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день !

С Datatable работаю на уровне всей страницы defаult.aspx. По этому объявил глобально. Но если defаult.aspx открыть в разных окнах,то етсь для работы с разными запиями, , данные смещиваються так как Datatable глобальня. Как можно сделать так что бы каждая страница работала со своей копией ? ViewState пойдет ?
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784139
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antihacker777С Datatable работаю на уровне всей страницы defаult.aspx. По этому объявил глобально.Что значит глобально? Сделал её static?
antihacker777Как можно сделать так что бы каждая страница работала со своей копией?Ну как, как. При загрузке страницы загружать данные в DataTable.
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784140
Andrey1306
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antihacker777Добрый день !

С Datatable работаю на уровне всей страницы defаult.aspx. По этому объявил глобально. Но если defаult.aspx открыть в разных окнах,то етсь для работы с разными запиями, , данные смещиваються так как Datatable глобальня. Как можно сделать так что бы каждая страница работала со своей копией ? ViewState пойдет ?

...
Рейтинг: 0 / 0
Объявить DataTable
    #38784184
antihacker777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANAantihacker777С Datatable работаю на уровне всей страницы defаult.aspx. По этому объявил глобально.Что значит глобально? Сделал её static?
antihacker777Как можно сделать так что бы каждая страница работала со своей копией?Ну как, как. При загрузке страницы загружать данные в DataTable.

Да как static.

Ну вот. Когда загружаешь данные ,когда страница открывается во втором окне, то там уже сидит данные с первого окна. Вот каша получается.
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784192
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antihacker777skyANAпропущено...
Что значит глобально? Сделал её static?
пропущено...
Ну как, как. При загрузке страницы загружать данные в DataTable.

Да как static.

Ну вот. Когда загружаешь данные ,когда страница открывается во втором окне, то там уже сидит данные с первого окна. Вот каша получается.Дак уберите static :)
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784199
antihacker777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если убрать то как я буду работать на уровне всей страницы ? Допустим кнопка1 добавляеть имя юзера, а конпка2 фамилию. А ?
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784206
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antihacker777Если убрать то как я буду работать на уровне всей страницы ? Допустим кнопка1 добавляеть имя юзера, а конпка2 фамилию. А ?Сохраняйте данные в базе, в чём проблема? Ну или в сессии на худой конец.
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784209
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изобретение велосипеда на ровном месте какое-то.
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784226
antihacker777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если убрать static то строка

Datarow dr=datatable.NewRow() вызывает ошибку -"Object reference not set ....."
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784237
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antihacker777,

ну так

skyANAПри загрузке страницы загружать данные в DataTable
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784244
antihacker777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Почему данные туда должны загружаться только при загрузки. А что если добавить при нажати кнопки ?
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784245
antihacker777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Убираю static , то страница компилируется нормально и приложение запускается. Но при нажатии кнопки ошибка Datarow dr=datatable.NewRow() вызывает ошибку -"Object reference not set ....."
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784247
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antihacker777Почему данные туда должны загружаться только при загрузки. А что если добавить при нажати кнопки ?Вы почитайте книжку какую, или MSDN на тему ASP.NET WebForms и жизненного цикла страниц.

А то Вы задаёте глупые вопросы, баянистее некуда.
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784251
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antihacker777Убираю static , то страница компилируется нормально и приложение запускается. Но при нажатии кнопки ошибка Datarow dr=datatable.NewRow() вызывает ошибку -"Object reference not set ....."

... так объявите таблицу в обработчике кнопки .. ну, ей-богу, вы точно изобретаете велик, да еще Пензенского завода ...
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784252
antihacker777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для кого то глупые а для какого нет ) А подсказать в чем проблема ? Сможете )
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784253
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antihacker777Для кого то глупые а для какого нет ) А подсказать в чем проблема ? Сможете )

...ваша проблема в попытке перенести десктоповый подход в WebForms ...
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784259
antihacker777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
carrotik,

Если объявить в обработке кнопки , то как с ним работать с другой обработки ? Я с этим дататаблем оперирую почтиво всех кнопках
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784263
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotikantihacker777Для кого то глупые а для какого нет ) А подсказать в чем проблема ? Сможете )

...ваша проблема в попытке перенести десктоповый подход в WebForms ...+1

100500-й человек, кто переходит из десктоп в ASP.NET WebForms и не понимает, почему в OnButtonClick объект (в данном случае datatable) равен null.

Для кого, спрашивается, документацию и книжки пишут?
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784268
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antihacker777carrotik,

Если объявить в обработке кнопки , то как с ним работать с другой обработки ? Я с этим дататаблем оперирую почтиво всех кнопкахв OnInit()
Код: c#
1.
var datatable = new DataTable();


в OnLoad()
Код: c#
1.
adapter.Fill(datatable);


в OnAddClick()
Код: c#
1.
2.
3.
4.
5.
6.
var dr = datatable.NewRow();

// ...

datatable.Rows.Add(dr);
adapter.Update(datatable);
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784270
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antihacker777, Вы раньше десктоп на чём писали?
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784272
antihacker777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну почему ? Я делаю datatable=new datatable() в Page_Load. Почему она не видна в обработчике кнопки ?
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784273
antihacker777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANA,

Дельфи !
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784281
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antihacker777Ну почему ? Я делаю datatable=new datatable() в Page_Load. Почему она не видна в обработчике кнопки ?Код в студию.
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784288
Andrey1306
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAantihacker777Ну почему ? Я делаю datatable=new datatable() в Page_Load. Почему она не видна в обработчике кнопки ?Код в студию.

а там скорее всего
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
... Page_Load ...
{
    DataTAble datatable=new datatable();

}

... обработчик кнопки...
{
   не вижу datatable   ))

}
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784291
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey1306skyANAпропущено...
Код в студию.

а там скорее всего
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
... Page_Load ...
{
    DataTAble datatable=new datatable();

}

... обработчик кнопки...
{
   не вижу datatable   ))

}

Глупости. Тогда бы не скомпилировалось.
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784298
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAТогда бы не скомпилировалось.

а если дважды нарисовать - DataTable datatable (в классе и методе)- тогда и будет описанный эффект
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784299
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antihacker777Ну почему ? Я делаю datatable=new datatable() в Page_Load. Почему она не видна в обработчике кнопки ?

.. объявите ее protected ... хотя я не уверен, что опять не запутается ....
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784302
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotikantihacker777Ну почему ? Я делаю datatable=new datatable() в Page_Load. Почему она не видна в обработчике кнопки ?

.. объявите ее protected ... хотя я не уверен, что опять не запутается ....

..в общем, меняйте подход: одно серверное действие - один запрос .. зачем вообще держать dataTable на редактирование, объясните, пожалуйста ...?
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784306
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotik.. объявите ее protected ...
смысл?

"Не видна"- может нести разный смысл - не компилится( вне области видимости) или значение null при выполнении.

свою гипотезу высказал
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784307
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotikcarrotikпропущено...


.. объявите ее protected ... хотя я не уверен, что опять не запутается ....

..в общем, меняйте подход: одно серверное действие - один запрос .. зачем вообще держать dataTable на редактирование, объясните, пожалуйста ...?Ну не дошёл ещё человек до бизнес-объектов и репозиториев. Пока только DataAdapter и DataTable освоил.
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784309
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропилcarrotik.. объявите ее protected ...
смысл?

"Не видна"- может нести разный смысл - не компилится( вне области видимости) или значение null при выполнении.

свою гипотезу высказал

...да я сам в виде "плохих советов" размышление высказал, но на SQL.RU поздняк метаться .. :)
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784313
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotikодно серверное действие одно серверное действие и приводит к вызовам методов нескольких контролов, использующих общие данные.

Если уж давать совет - то он в другом - как можно быстрее убегать от вебформ
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784318
antihacker777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
protected void Page_Load(object sender, EventArgs e)
{

TVSelectedResponsiblesDT = new DataTable();
TVSelectedResponsiblesDT.Columns.Add("FromUserID");
TVSelectedResponsiblesDT.Columns.Add("FromUserName");
TVSelectedResponsiblesDT.Columns.Add("PositionName");
TVSelectedResponsiblesDT.AcceptChanges();
}

потом кнопка

DataRow drTaskSelected2 = Global.Tasks.TaskSelectedResponsiblesDT.NewRow();
drTaskSelected2["FromUserID"] = FoundRecipientsGRW.DataKeys[FoundRecipientsGRW.SelectedIndex].Value.ToString();
drTaskSelected2["FromUserName"] = FoundRecipientsGRW.SelectedRow.Cells[1].Text;
drTaskSelected2["PositionName"] = FoundRecipientsGRW.SelectedRow.Cells[2].Text;
Global.Tasks.TaskSelectedResponsiblesDT.Rows.Add(drTaskSelected2);
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784319
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропилcarrotikодно серверное действие одно серверное действие и приводит к вызовам методов нескольких контролов, использующих общие данные.

Если уж давать совет - то он в другом - как можно быстрее убегать от вебформ

..это уже глобально ... но есть у меня подозрение, что если ТС озучит ТЗ, то его вполне можно реализовать и на старых добрых веб-формах без статической таблицы ...
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784320
antihacker777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
protected void Page_Load(object sender, EventArgs e)
{

TVSelectedResponsiblesDT = new DataTable();
TVSelectedResponsiblesDT.Columns.Add("FromUserID");
TVSelectedResponsiblesDT.Columns.Add("FromUserName");
TVSelectedResponsiblesDT.Columns.Add("PositionName");
TVSelectedResponsiblesDT.AcceptChanges();
}

потом кнопка

DataRow drTaskSelected2 = Global.Tasks.TaskSelectedResponsiblesDT.NewRow();
drTaskSelected2["FromUserID"] = FoundRecipientsGRW.DataKeys[FoundRecipientsGRW.SelectedIndex].Value.ToString();
drTaskSelected2["FromUserName"] = FoundRecipientsGRW.SelectedRow.Cells[1].Text;
drTaskSelected2["PositionName"] = FoundRecipientsGRW.SelectedRow.Cells[2].Text;
Global.Tasks.TaskSelectedResponsiblesDT.Rows.Add(drTaskSelected2);
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784328
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotik..это уже глобально ... но есть у меня подозрение, что если ТС озучит ТЗ, то его вполне можно реализовать и на старых добрых веб-формах без статической таблицы ...
я никоим образом не говорил о статической таблице
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784329
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antihacker777protected void Page_Load(object sender, EventArgs e)
{

TVSelectedResponsiblesDT = new DataTable();
TVSelectedResponsiblesDT.Columns.Add("FromUserID");
TVSelectedResponsiblesDT.Columns.Add("FromUserName");
TVSelectedResponsiblesDT.Columns.Add("PositionName");
TVSelectedResponsiblesDT.AcceptChanges();
}

потом кнопка

DataRow drTaskSelected2 = Global.Tasks.TaskSelectedResponsiblesDT.NewRow();
drTaskSelected2["FromUserID"] = FoundRecipientsGRW.DataKeys[FoundRecipientsGRW.SelectedIndex].Value.ToString();
drTaskSelected2["FromUserName"] = FoundRecipientsGRW.SelectedRow.Cells[1].Text;
drTaskSelected2["PositionName"] = FoundRecipientsGRW.SelectedRow.Cells[2].Text;
Global.Tasks.TaskSelectedResponsiblesDT.Rows.Add(drTaskSelected2);

..вы потом с таблицей-то что делаете? .. в БД сохраняете? ... ну так этот код равносилен SQLCommand+SQLparameters+ExecuteNonQuery ... только без промежуточной dataTable ...
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784330
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antihacker777
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
protected void Page_Load(object sender, EventArgs e)
{
    TVSelectedResponsiblesDT = new DataTable();
    TVSelectedResponsiblesDT.Columns.Add("FromUserID");
    TVSelectedResponsiblesDT.Columns.Add("FromUserName");
    TVSelectedResponsiblesDT.Columns.Add("PositionName");
    TVSelectedResponsiblesDT.AcceptChanges();
}



потом кнопка

Код: c#
1.
2.
3.
4.
5.
    DataRow drTaskSelected2 = Global.Tasks.TaskSelectedResponsiblesDT.NewRow();
    drTaskSelected2["FromUserID"] = FoundRecipientsGRW.DataKeys[FoundRecipientsGRW.SelectedIndex].Value.ToString();
    drTaskSelected2["FromUserName"] = FoundRecipientsGRW.SelectedRow.Cells[1].Text;
    drTaskSelected2["PositionName"] = FoundRecipientsGRW.SelectedRow.Cells[2].Text;
    Global.Tasks.TaskSelectedResponsiblesDT.Rows.Add(drTaskSelected2);


Дак Вы инициализируете одну таблицу, а используете другую.
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784337
antihacker777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
бл?*:! перепутал строки.


Вот так.

protected void Page_Load(object sender, EventArgs e)
{

TVSelectedResponsiblesDT = new DataTable();
TVSelectedResponsiblesDT.Columns.Add("FromUserID");
TVSelectedResponsiblesDT.Columns.Add("FromUserName");
TVSelectedResponsiblesDT.Columns.Add("PositionName");
TVSelectedResponsiblesDT.AcceptChanges();
}

кнопка клика

DataRow drTaskSelected = TVSelectedResponsiblesDT.NewRow();
drTaskSelected["FromUserID"] = FoundRecipientsGRW.DataKeys[FoundRecipientsGRW.SelectedIndex].Value.ToString();
drTaskSelected["FromUserName"] = FoundRecipientsGRW.SelectedRow.Cells[1].Text;
drTaskSelected["PositionName"] = FoundRecipientsGRW.SelectedRow.Cells[2].Text;
TVSelectedResponsiblesDT.Rows.Add(drTaskSelected);
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784341
antihacker777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
carrotik,

Это как бы временное хранилище. Потом не нужна.
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784358
antihacker777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
аууууууууууууу
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784360
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antihacker777,

Так, даже если вы добъетесь чтобы оно заработало, у вас же в таблице будет всегда одна строка.
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784364
antihacker777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну блин. Проверяю страницу на постбак. Так что пересоздаваться не будет.
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784366
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antihacker777бл?*:! перепутал строки.


Вот так.

protected void Page_Load(object sender, EventArgs e)
{

TVSelectedResponsiblesDT = new DataTable();
TVSelectedResponsiblesDT.Columns.Add("FromUserID");
TVSelectedResponsiblesDT.Columns.Add("FromUserName");
TVSelectedResponsiblesDT.Columns.Add("PositionName");
TVSelectedResponsiblesDT.AcceptChanges();
}

кнопка клика

DataRow drTaskSelected = TVSelectedResponsiblesDT.NewRow();
drTaskSelected["FromUserID"] = FoundRecipientsGRW.DataKeys[FoundRecipientsGRW.SelectedIndex].Value.ToString();
drTaskSelected["FromUserName"] = FoundRecipientsGRW.SelectedRow.Cells[1].Text;
drTaskSelected["PositionName"] = FoundRecipientsGRW.SelectedRow.Cells[2].Text;
TVSelectedResponsiblesDT.Rows.Add(drTaskSelected);Вы походу не только код перепутали, но и строку, где ошибка происходит на самом деле.
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784369
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antihacker777Ну блин. Проверяю страницу на постбак.То есть не весь код запостили, да? :)
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784383
antihacker777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот так


автор public partial class SelectRecipients : System.Web.UI.Page
{
private DataTable TVSelectedResponsiblesDT;

protected void Page_Load(object sender, EventArgs e)
{


if (!Page.IsPostBack)
{

TVSelectedResponsiblesDT = new DataTable();
TVSelectedResponsiblesDT.Columns.Add("FromUserID");
TVSelectedResponsiblesDT.Columns.Add("FromUserName");
TVSelectedResponsiblesDT.Columns.Add("PositionName");
TVSelectedResponsiblesDT.AcceptChanges();

SelectedRecipientsGRW.DataSource = TVSelectedResponsiblesDT;
SelectedRecipientsGRW.DataBind();

}


protected void FoundRecipientsGRW_SelectedIndexChanged(object sender, EventArgs e)
{
DataRow drTaskSelected = TVSelectedResponsiblesDT.NewRow();
drTaskSelected["FromUserID"] = FoundRecipientsGRW.DataKeys[FoundRecipientsGRW.SelectedIndex].Value.ToString();
drTaskSelected["FromUserName"] = FoundRecipientsGRW.SelectedRow.Cells[1].Text;
drTaskSelected["PositionName"] = FoundRecipientsGRW.SelectedRow.Cells[2].Text;
TVSelectedResponsiblesDT.Rows.Add(drTaskSelected);
}
}

Вот так. И это вызывает ошибку
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784391
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antihacker777,

Вы же видите, в скриншоте выше нет никакой ошибки. Значит дело не в бобине.
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784400
antihacker777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так в чем же дело ?

если в моем случае сделать вот так - static DataTable TVSelectedResponsiblesDT;

То все тикает как швейцарские часики.
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784405
Andrey1306
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
if (!Page.IsPostBack)
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784412
Andrey1306
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antihacker777,

Нет таблицы у тебя по клику !
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784417
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antihacker777Так в чем же дело?Ну Вы же сами видите, что при PostBack таблица не инициализируется.

Это тоже самое, что Вы в Дельфи при повтрном открытии формы после запуска приложения не создавали таблицу, но при закрытии формы таки убивали всё то, что в ней когда-либо было создано. :)
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784420
antihacker777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как быть ? Он так и будет при каждом клике пересоздаваться ? А на фиг ? Мне нужно туда забивать по нескольок строк с разных окон.
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784431
Andrey1306
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antihacker777А как быть ? Он так и будет при каждом клике пересоздаваться ? А на фиг ? Мне нужно туда забивать по нескольок строк с разных окон.

Зачем ?

Ты добавил в 1-ое окно 5 строк, как об этом 3 окно узнает, ты же данные не сохраняеш (DataTable твой не хранится нигде) ?
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784432
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antihacker777А как быть ? Он так и будет при каждом клике пересоздаваться ? А на фиг ? Мне нужно туда забивать по нескольок строк с разных окон.

.. ну, тогда копируйте или клонируйте (если нужна пустая структура) свою статическую таблицу в новую:

DataTable.Copy Method

...хотя, все равно, видится мне, что закопаетесь вы с ней .. :)
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784434
antihacker777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Andrey1306,

Когда окна паралельно открыты то узнают )
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784439
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antihacker777А как быть ? Он так и будет при каждом клике пересоздаваться ? А на фиг ?А неплохо бы Вам ознакомиться с основами-то. Книжку почитать на досуге.

Когда пользователь переходит по ссылке в браузере на вашу страницу (*.aspx), то посылается GET запрос на сервер.

На сервере в рамках жизненного цикла обработки запроса создаётся Page-а, для неё по цепочке вызываются события.
По окончанию обработки запроса Page-а убивается со всеми компонентами, что были в ней созданы.
Пользователь получает результат обработки запроса в виде HTML.

Пользователь нажимает кнопку и посылается POST запрос на сервер.
На сервере в рамках жизненного цикла обработки запроса...

И т.д., и т.п.
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784445
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и я уже писал:
skyANAantihacker777Если убрать то как я буду работать на уровне всей страницы ? Допустим кнопка1 добавляеть имя юзера, а конпка2 фамилию. А ? Сохраняйте данные в базе, в чём проблема? Ну или в сессии на худой конец.
skyANAв OnInit()
Код: c#
1.
var datatable = new DataTable();


в OnLoad()
Код: c#
1.
adapter.Fill(datatable);


в OnAddClick()
Код: c#
1.
2.
3.
4.
5.
6.
var dr = datatable.NewRow();

// ...

datatable.Rows.Add(dr);
adapter.Update(datatable);
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784454
antihacker777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если делать вот так

private DataTable TVSelectedResponsiblesDT = new Datatable();

То все хорошо. В клике кнопки видит.

Но как мне туда добавить колонки ?
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784461
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antihacker777Но как мне туда добавить колонки ?Угадайте с одного раза.
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784462
dma_caviar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antihacker777А как быть ? Он так и будет при каждом клике пересоздаваться ? А на фиг ? Мне нужно туда забивать по нескольок строк с разных окон.

Короче, делаете статической переменной не DataTable а словарь, где ключом будет поток юзера, а значением DataTable.
Когда, глядя на этот показательный пример, допрет как же оно все-таки работает, то переделайте по нормальному.
Например, как и предлагают, хранение в базе или в сессии или во ViewState (только не нужно туда сериализовать целый DataTable).
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784464
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dma_caviarantihacker777А как быть ? Он так и будет при каждом клике пересоздаваться ? А на фиг ? Мне нужно туда забивать по нескольок строк с разных окон.

Короче, делаете статической переменной не DataTable а словарь, где ключом будет поток юзера, а значением DataTable.Не надо новичку такое советовать. У него же память утекать будет :)
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784468
antihacker777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANA,

бл* кажись понял. Щасссссс
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784480
antihacker777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Опять проблема. Если добавить колумы в if (!Page.IsPostBack) , то не видит так как колумы не инициализируется. Авне if (!Page.IsPostBack) перезаписываются.
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784484
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что значит перезаписываются? Запрос обработан, пользователь получит ответ сервера, всё! Нет больше никаких колумов, нет и таблы, нечему перезаписываться.
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784485
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antihacker777, считай пользователь открыл форму, запомнил, что на ней и закрыл. Потом снова открыл, ввёл что-то, нажал кнопку, закрыл.
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784489
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Погугли тему: "HTTP является протоколом без сохранения состояния". :)
...
Рейтинг: 0 / 0
Объявить DataTable
    #38784627
zabralex85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antihacker777,

Ну костылем можно в сессии все же хранить таблу.

А вообще советую попробовать для начала что то типа SqlDataSource/ObjectDataSource,
которые конструктором на форму кладутся, ну а потом lifecycle читать ...

http://forums.asp.net/t/1941120.aspx?Passing DataTable as session variable
...
Рейтинг: 0 / 0
67 сообщений из 67, показаны все 3 страниц
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Объявить DataTable
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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