Code/C#
[C#] SQL Compact & DataGridView Binding Sample
Hide Code
2008. 12. 20. 22:03
using System;
using System.Data;
using System.Windows.Forms;
namespace NaverSample
{
public partial class Form1 : Form
{
private NaverDataSet ourNaverDataSet;
private NaverDataSetTableAdapters.AccountTableAdapter ourAccountTableAdapter;
private NaverDataSetTableAdapters.TableAdapterManager ourTableAdapterManager;
private BindingSource ourBindingSource;
public Form1()
{
InitializeComponent();
InitializeMyComponent();
}
private void InitializeMyComponent()
{
ourNaverDataSet = new NaverDataSet();
ourAccountTableAdapter = new NaverDataSetTableAdapters.AccountTableAdapter();
ourAccountTableAdapter.Fill(ourNaverDataSet.Account);
ourTableAdapterManager = new NaverDataSetTableAdapters.TableAdapterManager();
ourTableAdapterManager.BackupDataSetBeforeUpdate = false;
ourTableAdapterManager.AccountTableAdapter = ourAccountTableAdapter;
ourTableAdapterManager.UpdateOrder =
NaverDataSetTableAdapters.TableAdapterManager.UpdateOrderOption.InsertUpdateDelete;
ourBindingSource = new BindingSource();
ourBindingSource.DataSource = ourNaverDataSet;
ourBindingSource.DataMember = "Account";
this.dataGridView1.DataSource = ourBindingSource;
}
private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
dataGridView1.Rows[e.RowIndex].ErrorText = String.Empty;
}
private void dataGridView1_DataError(object sender, DataGridViewDataErrorEventArgs e)
{
dataGridView1.Rows[e.RowIndex].ErrorText = e.Exception.Message;
e.Cancel = true;
}
private void toolStripButtonSave_Click(object sender, EventArgs e)
{
try
{
this.Validate();
ourBindingSource.EndEdit();
string method = "method2";
switch (method)
{
case "method1":
ourTableAdapterManager.UpdateAll(ourNaverDataSet);
break;
default:
NaverDataSet changes = (NaverDataSet)ourNaverDataSet.GetChanges();
if (changes != null)
{
int numRows = ourAccountTableAdapter.Update(changes);
MessageBox.Show("Updated " + numRows + " Rows", "Success");
ourNaverDataSet.AcceptChanges();
}
break;
} // switch
} // try
catch (Exception ex)
{
MessageBox.Show(ex.Message);
ourNaverDataSet.RejectChanges();
}
}
private void toolStripButtonWork_Click(object sender, EventArgs e)
{
try
{
DataRow[] foundRows = ourNaverDataSet.Account.Select("", "Accessed ASC");
foundRows[0]["Accessed"] = DateTime.Now;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
ourNaverDataSet.RejectChanges();
}
}
}
}
using System.Data;
using System.Windows.Forms;
namespace NaverSample
{
public partial class Form1 : Form
{
private NaverDataSet ourNaverDataSet;
private NaverDataSetTableAdapters.AccountTableAdapter ourAccountTableAdapter;
private NaverDataSetTableAdapters.TableAdapterManager ourTableAdapterManager;
private BindingSource ourBindingSource;
public Form1()
{
InitializeComponent();
InitializeMyComponent();
}
private void InitializeMyComponent()
{
ourNaverDataSet = new NaverDataSet();
ourAccountTableAdapter = new NaverDataSetTableAdapters.AccountTableAdapter();
ourAccountTableAdapter.Fill(ourNaverDataSet.Account);
ourTableAdapterManager = new NaverDataSetTableAdapters.TableAdapterManager();
ourTableAdapterManager.BackupDataSetBeforeUpdate = false;
ourTableAdapterManager.AccountTableAdapter = ourAccountTableAdapter;
ourTableAdapterManager.UpdateOrder =
NaverDataSetTableAdapters.TableAdapterManager.UpdateOrderOption.InsertUpdateDelete;
ourBindingSource = new BindingSource();
ourBindingSource.DataSource = ourNaverDataSet;
ourBindingSource.DataMember = "Account";
this.dataGridView1.DataSource = ourBindingSource;
}
private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
dataGridView1.Rows[e.RowIndex].ErrorText = String.Empty;
}
private void dataGridView1_DataError(object sender, DataGridViewDataErrorEventArgs e)
{
dataGridView1.Rows[e.RowIndex].ErrorText = e.Exception.Message;
e.Cancel = true;
}
private void toolStripButtonSave_Click(object sender, EventArgs e)
{
try
{
this.Validate();
ourBindingSource.EndEdit();
string method = "method2";
switch (method)
{
case "method1":
ourTableAdapterManager.UpdateAll(ourNaverDataSet);
break;
default:
NaverDataSet changes = (NaverDataSet)ourNaverDataSet.GetChanges();
if (changes != null)
{
int numRows = ourAccountTableAdapter.Update(changes);
MessageBox.Show("Updated " + numRows + " Rows", "Success");
ourNaverDataSet.AcceptChanges();
}
break;
} // switch
} // try
catch (Exception ex)
{
MessageBox.Show(ex.Message);
ourNaverDataSet.RejectChanges();
}
}
private void toolStripButtonWork_Click(object sender, EventArgs e)
{
try
{
DataRow[] foundRows = ourNaverDataSet.Account.Select("", "Accessed ASC");
foundRows[0]["Accessed"] = DateTime.Now;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
ourNaverDataSet.RejectChanges();
}
}
}
}