none
Редактируемая таблица без постоянного postback'а RRS feed

  • Вопрос

  • Доброго времени суток!

    Уважаемые коллеги, подскажите, пожалуйста, мне подходящий контрол, обладающий следующими качествами:
    1. Это должна быть таблица-grid(это уже есть в Visual Studio).
    2. Она должна уметь загружать данные из источника данных (это тоже есть).
    3. Она должна давать возможность редактировать существующие строки и добавлять свои без постоянного postback'a. Типичный пример - это EditableGrid из библиотеки EtJS. В принципе, есть вариант использовать в проекте именно её,  но не хочется в чистый ASP.NET вставлять нечто чужое...

    Спасибо!

    5 декабря 2009 г. 21:32

Ответы

  • А технологии AJAX сдесь вам не помогут? И редактируйте сколько угодно и постбэка как будто нет...


    К сожалению, не помогут, я уже рассмотрел такой вариант. Ведь хочется написать оптимальное приложение, которое обращается к серверу только тогда, когда уже точно надо сохранить или обработать данные, а на клиенте все делать JavaScript'oм.

    Тогда в любом случае придётся либо использовать чужой контрол в замен стандартного грида, либо писать свой. Другого не дано.
    Чистый ASP.NET разработан таким образом, чтобы работать даже с выключенными java-script'ами на клиенте, поэтому там нет того, чего Вы хотите.
    Контролы в чистом ASP.NET серверные, т.е. инициализация (рендеринг в HTML если угодно) происходит на сервере. Поэтому если Вы хотите добавлять новую строчку с текст-боксами, необходимо обращение на сервер, чтобы динамически добавленные текст-боксы (которые в ASP.NET являются серверными контролами) проинициализировались.
    • Предложено в качестве ответа Alexander V. Vasilyev 17 декабря 2009 г. 11:28
    • Помечено в качестве ответа I.Vorontsov 17 декабря 2009 г. 13:50
    17 декабря 2009 г. 11:25

Все ответы

  • А технологии AJAX сдесь вам не помогут? И редактируйте сколько угодно и постбэка как будто нет...

    6 декабря 2009 г. 7:15
  • А технологии AJAX сдесь вам не помогут? И редактируйте сколько угодно и постбэка как будто нет...


    К сожалению, не помогут, я уже рассмотрел такой вариант. Ведь хочется написать оптимальное приложение, которое обращается к серверу только тогда, когда уже точно надо сохранить или обработать данные, а на клиенте все делать JavaScript'oм.
    6 декабря 2009 г. 7:26
  • Нужно использовать привязку к объекту и редактировать его. Когда нужно сохранить - берем наш измененный объект и сохраняем в базе (один раз).
    11 декабря 2009 г. 21:28
  • Нужно использовать привязку к объекту и редактировать его. Когда нужно сохранить - берем наш измененный объект и сохраняем в базе (один раз).
    Простите, нельзя ли подробнее? Как это "использовать привязку к объекту и редактировать его"? Имею некий BulkEditGridView и как с ним это проделать?
    12 декабря 2009 г. 20:07
  • А технологии AJAX сдесь вам не помогут? И редактируйте сколько угодно и постбэка как будто нет...


    К сожалению, не помогут, я уже рассмотрел такой вариант. Ведь хочется написать оптимальное приложение, которое обращается к серверу только тогда, когда уже точно надо сохранить или обработать данные, а на клиенте все делать JavaScript'oм.

    Тогда в любом случае придётся либо использовать чужой контрол в замен стандартного грида, либо писать свой. Другого не дано.
    Чистый ASP.NET разработан таким образом, чтобы работать даже с выключенными java-script'ами на клиенте, поэтому там нет того, чего Вы хотите.
    Контролы в чистом ASP.NET серверные, т.е. инициализация (рендеринг в HTML если угодно) происходит на сервере. Поэтому если Вы хотите добавлять новую строчку с текст-боксами, необходимо обращение на сервер, чтобы динамически добавленные текст-боксы (которые в ASP.NET являются серверными контролами) проинициализировались.
    • Предложено в качестве ответа Alexander V. Vasilyev 17 декабря 2009 г. 11:28
    • Помечено в качестве ответа I.Vorontsov 17 декабря 2009 г. 13:50
    17 декабря 2009 г. 11:25
  • А технологии AJAX сдесь вам не помогут? И редактируйте сколько угодно и постбэка как будто нет...


    К сожалению, не помогут, я уже рассмотрел такой вариант. Ведь хочется написать оптимальное приложение, которое обращается к серверу только тогда, когда уже точно надо сохранить или обработать данные, а на клиенте все делать JavaScript'oм.

    Тогда в любом случае придётся либо использовать чужой контрол в замен стандартного грида, либо писать свой. Другого не дано.
    Чистый ASP.NET разработан таким образом, чтобы работать даже с выключенными java-script'ами на клиенте, поэтому там нет того, чего Вы хотите.
    Контролы в чистом ASP.NET серверные, т.е. инициализация (рендеринг в HTML если угодно) происходит на сервере. Поэтому если Вы хотите добавлять новую строчку с текст-боксами, необходимо обращение на сервер, чтобы динамически добавленные текст-боксы (которые в ASP.NET являются серверными контролами) проинициализировались.

    Спасибо за подробный ответ, теперь хоть не придется терзаться в поисках того, чего нет.
     Я, впрочем, обошёл эту проблему, использовав DataGrid из FlexBuilder:)
    17 декабря 2009 г. 19:30