Hi there,
OK, so I've read this same question asked over and over but all the answers talk about adding rows to the datatable that is bound to the dataset. So, in my case, I can't find any code where I am creating a datatable. I do create a DataSet
but not a datatable. I can delete a row (see below) but my dataset does not have an addnew method.
private DataSet AddressBookDataSet = new DataSet();
private string strAddressBookPath = "P:\\Visual Studio\\Projects\\SecureSend\\AddressBook.xml"
public AddressBook()
{
InitializeComponent();
datagridaddressbook.DataBindingComplete += new DataGridViewBindingCompleteEventHandler(datagridaddressbook_DataBindingComplete);
datagridaddressbook.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(datagridaddressbook_CellClick);
DataGridViewCellStyle cell_style = new DataGridViewCellStyle();
cell_style.BackColor = Color.LightGreen;
cell_style.Format = "C2";
AddressBookDataSet.ReadXml(strAddressBookPath);
datagridaddressbook.DataSource = AddressBookDataSet;
datagridaddressbook.DataMember = "details";
datagridaddressbook.Columns[0].DefaultCellStyle = cell_style;
datagridaddressbook.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
datagridaddressbook.Columns[0].HeaderText = "Email";
datagridaddressbook.Columns[1].HeaderText = "First Name";
datagridaddressbook.Columns[2].HeaderText = "Last Name";
datagridaddressbook.Columns[3].HeaderText = "Company";
txtEmail.Focus();
}
private void btnDelete_Click(object sender, EventArgs e)
{
if (datagridaddressbook.SelectedRows.Count > 0)
{
int selectedRowCount = this.datagridaddressbook.SelectedRows.Count;
while (selectedRowCount > 0)
{
DataGridViewRow dgv_r = this.datagridaddressbook.SelectedRows[0];
this.datagridaddressbook.Rows.Remove(dgv_r);
selectedRowCount--;
}
AddressBookDataSet.WriteXml(strAddressBookPath);
AddressBookDataSet.AcceptChanges();
}
else
{
MessageBox.Show("Please select a contact to delete", "No contact selected", MessageBoxButtons.OK);
}
}
Any help would be greatly appreciated...
Thanks, Chris