About DataGrid
-
Hi i work in a project about database and use datagrid . i want to prevent user from adding new record ( by clicking the * sign in datagrid ) but i can not find anything like
allowAdd
orCanAdd
for disabling the add ability . can someone help me ? Regards Amir Jalaly -
Hi i work in a project about database and use datagrid . i want to prevent user from adding new record ( by clicking the * sign in datagrid ) but i can not find anything like
allowAdd
orCanAdd
for disabling the add ability . can someone help me ? Regards Amir JalalyThe DataGrid class does not have a property that controls whether a new row can be added. But the DataView class does have such a property (along with some others such as AllowEdit and AllowDelete). Here is code that will turn off the append row by getting at the dataview associated with the datagrid. string connString = @"Provider=Microsoft.JET.OLEDB.4.0;data source=C:\northwind.mdb"; string sqlString = "SELECT * FROM customers"; // Connection object OleDbConnection connection = new OleDbConnection(connString); // Create data adapter object OleDbDataAdapter dataAdapter = new OleDbDataAdapter(sqlString, connection); // Create a dataset object and fill with data using data adapter's Fill method DataSet dataSet = new DataSet(); dataAdapter.Fill(dataSet, "customers"); // Attach dataset's DefaultView to the datagrid control dataGrid1.DataSource = dataSet.Tables["customers"]; //no adding of new rows thru dataview... CurrencyManager cm = (CurrencyManager)this.BindingContext[dataGrid1.DataSource, dataGrid1.DataMember]; ((DataView)cm.List).AllowNew = false; If your datagrid contains links, then adding Navigate handler such as the one below to disallow the AddNew. private void DataGrid1_Navigate(object sender, System.Windows.Forms.NavigateEventArgs ne) { if(ne.Forward) { CurrencyManager cm = (CurrencyManager)BindingContext[DataGrid1.DataSource,DataGrid1.DataMember]; DataView dv = (DataView) cm.List; dv.AllowNew = false; } } Live Life King Size Alomgir Miah