Конференция ".Net" » Внесение нула в поле через текстбокс [C#, WinXP]
 
  • JFK&MM_extramarital_son (25.01.07 10:56) [0]
    Есть TextBox привязанный с помощью биндингов к датавью.
    Редактирование поля происходит нормально, кроме одного момента:
    поле числовое и когда пользователь хочет чтобы в поле было пусто (стриает содержимое текстбокса), то при смене фокуса в боксе восстанавливается прежнее непустое значение.
    Как быть?
  • clickmaker © (25.01.07 11:50) [1]
    а в датавью как поле представлено?
    Column.AllowDBNull = True у соотв. поля?
  • JFK&MM_extramarital_son (25.01.07 12:20) [2]
    Да. С этим все в поряде. Нулы разрешены.
    Ситуация такая: при определенных условиях рождается новая запись. В контролах пусто. Если их не трогать, то при постах все в шоколаде. Они остаются пустыми.

    Но если ввести что-то, запостить, а потом стереть содержимое контрола, то восстанавливается то, что было до стрирания.
    Causevalidate убран.
  • DiamondShark © (25.01.07 15:06) [3]
    public MainForm()
    {
       InitializeComponent();
       textBox1.DataBindings["Text"].Parse += new ConvertEventHandler(textBox1_Parse);
    }

    private void textBox1_Parse(object sender, ConvertEventArgs e)
    {
       if ((e.Value is string) && ((string)e.Value == "")) e.Value = DBNull.Value;
       else e.Value = Convert.ChangeType(e.Value, e.DesiredType);
    }
  • JFK&MM_extramarital_son (25.01.07 15:41) [4]
    Ок, thanks a lot!
 
Конференция ".Net" » Внесение нула в поле через текстбокс [C#, WinXP]
Есть новые Нет новых   [118829   +85][b:0][p:0]