На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
> Не могу записать значение из checkbox который расположен в Listview в базу , Не могу записать значение из checkbox который расположен в Listview в базу
    Здравствуйте! Хочу записать значение из checkbox который расположен в Listview в базу. В базе тип присвоен int.
    ExpandedWrap disabled
      Int32 idx = e.ItemIndex;
                  System.Web.UI.WebControls.CheckBox chk = (System.Web.UI.WebControls.CheckBox)lv_Private.Items[idx].FindControl("cb_ShowDataBirthday");
                  if (chk.Checked)
                      e.NewValues["ShowDataBirthday"] = "1";
                  else
                      e.NewValues["ShowDataBirthday"] = "0";

    ошибка
    Object reference not set to an instance of an object
      Dmitriy78781, вы действительно в переменную e хотите записывать?
        ExpandedWrap disabled
          protected void lv_Private_ItemUpdating(object sender, ListViewUpdateEventArgs e)
                  {
           
                      Int32 idx = e.ItemIndex;
                      System.Web.UI.WebControls.CheckBox chk = (System.Web.UI.WebControls.CheckBox)lv_Private.Items[idx].FindControl("cb_ShowDataBirthday");
                      if (chk.Checked)
                          e.NewValues["ShowDataBirthday"] = "1";
                      else
                          e.NewValues["ShowDataBirthday"] = "0";

        А как по другому записать значение?
          Dmitriy78781, в вашем коде ни строчки про работу с базой.
            Цитата Dmitriy78781 @
            ошибка
            Object reference not set to an instance of an object

            Нулевой указатель. Объект у тебя не создан, он просто пустой. На какую строку ругается, если под отладчиком остановить или прогнать? Судя из того что ты привел, могу только предположить, что валица вот гдето на вот этой конструкции:
            ExpandedWrap disabled
              (System.Web.UI.WebControls.CheckBox)lv_Private.Items[idx].FindControl("cb_ShowDataBirthday");

            Возможно ты обращаешься к несуществующему итему или у тебя массив нулевой вообще или еще возможно что 'е' null. Ты объекты перед их использованием на null проверяешь вообще?
            Ошибка твоя, если ее перефразировать на русский диалект, звучит как: Объект ссылочного типа не инстанцирован(не ссоздан, не инициализирован и т.п, но где то юзается).

            Добавлено
            Цитата kosten @
            Dmitriy78781, в вашем коде ни строчки про работу с базой.

            Возможно у него через биндинги сделано?

            ЗЫЖ я пока нуб в явошарпах, пока только вливаюсь. Но ведь есть возможность забиндить с датасорсом объект, и в последствии не нужно никуда обращатся, достаточно изменить значение объекта ссылающегося на датасорс, и оно само все сделает. Разве нет?
            Сообщение отредактировано: Wound -
              Я попытался по другому решить данную проблему но в итоге все переменные (tShowDataBirthday,tContactInfo,tSendLetterToPost)выходят нулевые.
              ExpandedWrap disabled
                CheckBox tShowDataBirthday = (lv_Private.Items[e.ItemIndex].FindControl("cb_ShowDataBirthday")) as CheckBox;
                            CheckBox tContactInfo = (lv_Private.Items[e.ItemIndex].FindControl("cb_ContactInfo")) as CheckBox;
                            CheckBox tSendLetterToPost = (lv_Private.Items[e.ItemIndex].FindControl("cb_SendLetterToPost")) as CheckBox;
                попробуй lv_Private.EditItem.FindControl
                  И так не работает.
                    значит ID контролов неверно указаны
                    0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                    0 пользователей:


                    Рейтинг@Mail.ru
                    [ Script execution time: 0,0544 ]   [ 17 queries used ]   [ Generated: 24.04.24, 02:18 GMT ]