The DataView provides different views of the data stored in a DataTable. DataView can be used to sort, filter, and search a DataTable , additionally we can add new rows and modify the content in a DataTable. We can create DataView in two ways. Either we can use the DataView Constructor , or we can create a reference to the DefaultView property of the DataTable. Also we can create multiple DataViews for any given DataTable. Using a DataView, you can expose the data in a table with different sort orders, and you can filter the data by row state or based on a filter expression.
We can update the data in a DataView . The following C# source code shows how to update data in a DataView . Create a new C# project and drag a DataGridView and a Button on default Form Form1 , and copy and paste the following C# Source Code on button click event.
using System;
using System.Data;
using System.Data.SqlClient;
using System.Windows.Forms;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string connetionString = null;
SqlConnection connection ;
SqlCommand command ;
SqlDataAdapter adapter = new SqlDataAdapter();
DataSet ds = new DataSet();
DataView dv ;
string sql = null;
connetionString = "Data Source=ServerName;Initial Catalog=DatabaseName;User ID=UserName;Password=Password";
sql = "Select * from product";
connection = new SqlConnection(connetionString);
try
{
connection.Open();
command = new SqlCommand(sql, connection);
adapter.SelectCommand = command;
adapter.Fill(ds, "Update");
adapter.Dispose();
command.Dispose();
connection.Close();
dv = new DataView(ds.Tables[0], "", "Product_Name", DataViewRowState.CurrentRows);
int index = dv.Find("PRODUCT5");
if (index == -1)
{
MessageBox.Show ("Product not found");
}
else
{
dv[index]["Product_Name"] = "Product11";
MessageBox.Show("Product Updated !");
}
dataGridView1.DataSource = dv;
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
}
}