Конференция ".Net" » Редактировать данные с помощью DataGrid [C#, WinXP]
 
  • Галинка © (23.10.06 15:25) [0]
    С датагридом связан список ArrayList. Если я отредактировала что-то, как сохранить результат?

    В дельфи был навигатор, который все это делал. Как быть в шарпе?
  • Курдль © (23.10.06 15:44) [1]

    > Галинка ©   (23.10.06 15:25)  
    > С датагридом связан список ArrayList. Если я отредактировала
    > что-то, как сохранить результат?


    Где сохранить результат?

    В ArrayList?
    MSDN:
    [C#]
    protected void dataGrid1_KeyUp
    (object sender, System.Windows.Forms.KeyEventArgs e) {
       if(e.KeyCode == Keys.Enter) {
           // Enter key pressed.
           CurrencyManager gridCurrencyManager =
           (CurrencyManager)this.BindingContext
           [dataGrid1.DataSource, dataGrid1.DataMember];
           gridCurrencyManager.EndCurrentEdit();
           MessageBox.Show("End Edit");
       }

    }

  • Галинка © (23.10.06 16:40) [2]
    да, в тот же ArrayList, из которого прочитали?

    то, что здесь приведено, на мой взгляд, просто индикатор. Отпустили кнопку - выведено сообщение.

    или связи всегда в обе стороны и все атоматически меняется??
  • Галинка © (23.10.06 18:45) [3]
    кстати нашла инфу, что датагрид не перехватывает нажатия клавишь ((
  • Курдль © (23.10.06 21:29) [4]

    > Галинка ©   (23.10.06 16:40) [2]
    > да, в тот же ArrayList, из которого прочитали?


    Что значит "тот же ArrayList, из которого прочитали"?
    Если для грида существует Binding с массивом, то любые изменения в гриде повлекут за собой изменения в массиве и наоборот. Но момент этих изменений будет определяться стандартным поведением грида (напр. изменения в члене массива произойдут после нажатия Enter или при переходе фокуса на другую ячейку). Если Вы хотите опередить эти события, можете устроить обработку события, как указано в примере (по нажатию клавиш).
    Чтобы явно инициировать обновление данных в визуальных контролах после изменения их сорцов/мэмберов можно воспользоваться методами Refresh(), или BeginInit()/EndInit().

    > Галинка ©   (23.10.06 18:45) [3]
    > кстати нашла инфу, что датагрид не перехватывает нажатия
    > клавишь ((

    Это нонсенс! Грид является наследником обычного контрола, в котором не может не быть реакции на нажатие клавиш.
  • Галинка © (24.10.06 16:07) [5]
    http://www.gotdotnet.ru/DotNet/FAQ/WindowsForms/DataGrid/311.aspx

    тут написано, что датагрид не перехватывает нажатие клавишь ))

    За остальное спасибо ))
  • Галинка © (24.10.06 16:23) [6]
    Курдль ©   (23.10.06 21:29) [4]

    огромное спасибо... все получается...
  • Игорь Шевченко © (24.10.06 18:16) [7]

    > В дельфи был навигатор, который все это делал.


    Глупости. Ничего "всего этого" навигатор не делал.

    http://rsdn.ru/article/dotnet/DataGridView20.xml читать наизусть.
 
Конференция ".Net" » Редактировать данные с помощью DataGrid [C#, WinXP]
Есть новые Нет новых   [134430   +2][b:0][p:0.001]