Связанный адаптер C # не обновляется, пока не будет вызван дважды - PullRequest
0 голосов
/ 13 октября 2011

Новичок в C # с vb.net, и я сейчас делаю несколько приложений, связанных с имитацией. У меня проблемы со следующим кодом. Если я выберу изображение и выйду из приложения, изменений не будет. Даже если я перееду на ряд. Однако, если я загружаю изображение, перемещаюсь в другую строку, затем добавляю другое изображение. После выхода из приложения первое изображение будет там, но не второе.

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

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;
using System.IO;

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

        private void Form1_Load(object sender, EventArgs e)
        {
            // TODO: This line of code loads data into the 'dsUsers.Users' table. You can move, or remove it, as needed.
            this.usersTableAdapter.Fill(this.dsUsers.Users);
        }

        private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();
            if (DialogResult.OK == ofd.ShowDialog())
            {
                imgUser.SizeMode = PictureBoxSizeMode.StretchImage;
                imgUser.Image = new Bitmap(ofd.OpenFile());
                //update bound field.
                usersTableAdapter.Update(dsUsers);
            }
        }
    }
}

Есть идеи о том, что мне не хватает или не правильно понимаю? Любая помощь приветствуется.

/ P

1 Ответ

1 голос
/ 14 октября 2011

Ответ состоял в том, что мне нужно было вызвать метод BindingSource .EndEdit (); метод.

Так что я предполагаю, что это было связано с тем, что источник привязки все еще что-то держит.

Похоже, я все равно на правильном пути, я посмотрел подробности в MSDN :)

...