IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным. В описании темы указываем язык!!!

 
 Ответить  Открыть новую тему 
> сохранение в таблице, c#, visual studio 2008
Client
сообщение 31.10.2009 15:41
Сообщение #1


Профи
****

Группа: Пользователи
Сообщений: 865
Пол: Мужской
Реальное имя: Вячеслав

Репутация: -  20  +


как сохранять измения в DataGridView? В новигаторе есть кнопка SAVE, но она сохраняет если в таблицу ТОЛЬКО дабавляются записи, а не изменяются. Если изменить и сохранить получается ошибка.

Сообщение отредактировано: Client - 31.10.2009 15:58


Эскизы прикрепленных изображений
Прикрепленное изображение
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 31.10.2009 19:19
Сообщение #2


Гость






Здесь посмотри, может что-нибудь и подойдет...
 К началу страницы 
+ Ответить 
Client
сообщение 1.11.2009 11:49
Сообщение #3


Профи
****

Группа: Пользователи
Сообщений: 865
Пол: Мужской
Реальное имя: Вячеслав

Репутация: -  20  +


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication6
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void mytableBindingNavigatorSaveItem_Click(object sender, EventArgs e)
        {
            this.Validate();
            this.mytableBindingSource.EndEdit();
            this.tableAdapterManager.UpdateAll(this.mydbDataSet);

        }

        private void Form1_Load(object sender, EventArgs e)
        {
            // TODO: данная строка кода позволяет загрузить данные в таблицу "mydbDataSet.mytable". При необходимости она может быть перемещена или удалена.
            this.mytableTableAdapter.Fill(this.mydbDataSet.mytable);
           // this.mytableDataGridView.AutoResizeColumns();

        }
        public DataRow lastdatarow = null;

        private void updateRowToDatabase()
        {
            if (lastdatarow != null)
            {
                if (lastdatarow.RowState == DataRowState.Modified)
                {
                    mytableTableAdapter.Update(lastdatarow);
                }
            }
        }

        private void mytableBindingSource_PositionChanged(object sender, EventArgs e)
        {
            BindingSource thisBindingSource = (BindingSource)sender;
            DataRow thisdatarow = ((DataRowView)thisBindingSource.Current).Row;
            if (thisdatarow == lastdatarow)
            {
                throw new  ApplicationException("It seems the" +
                " PositionChanged event was fired twice for" + 
                " the same row");
            }
            updateRowToDatabase();
            lastdatarow=thisdatarow;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            updateRowToDatabase();
        }
    }
}
Сделал как в статье, такая же ошибка. Просит UpdateCommand. А что это и с чем его едят...

Сообщение отредактировано: Client - 1.11.2009 11:50


Эскизы прикрепленных изображений
Прикрепленное изображение
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия 29.07.2025 14:53
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"