По существу, у меня есть сетевое представление данных, которое я извлекаю из базы данных, и 3 столбца поля базы данных, которые я объединяю в столбец в сетевом хранилище данных.
Но теперь проблема возникает, мне нужно обновить, но перед этим мне нужночтобы проверить, что пользователь редактирует, прежде чем нажать на кнопку обновления, но я не знаю, как проверить их, когда они находятся в одном столбце в представлении данных.
Я могу проверить столбец толькоодно поле базы данных
ps Я занимаюсь редактированием и обновлением в сетке данных, мне нужно проверить столбец этого поля базы данных 3.
Вот как я называю свою базу данных в сетке данных
пс.позиция int
protected void BindStaff()
{
SqlConnection conn = new SqlConnection("Data Source=.\\SQLEXPRESS;Initial Catalog=BRandCom;Integrated Security=True");
SqlDataAdapter adapter = new SqlDataAdapter("SELECT StaffID, (StaffName+','+ StaffNRIC+','+ Position + ';')as StaffDetail, yearIn, age, address, email, stayIndicator FROM StaffBook", conn);
DataSet ds = new DataSet();
adapter.Fill(ds);
DGVStaffBook.DataSource = ds.Tables[0];
}
это столбец, о котором я говорю, что могу проверить (только один столбец поля базы данных)
private void DGVStaffBook_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex >= 0 && e.ColumnIndex >= 0)
{
int stayInd;
if (e.ColumnIndex == 6)
{
stayInd = Convert.ToInt32(DGVStaffBook.Rows[e.RowIndex].Cells[e.ColumnIndex].Value);
if (stayInd != 0 && stayInd != 1)
{
MessageBox.Show("Please enter only 1 or 0");
DGVStaffBook.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = DBNull.Value;
}
else
return;
}
}
}
я пробую это для позиции, но это даетошибка: введенная строка неверного формата
private void DGVStaffBook_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex >= 0 && e.ColumnIndex >= 0)
{
if (e.ColumnIndex == 1)
{
String[] position = null;
position = Convert.ToString(DGVStaffBook.CurrentRow.Cells[1].Value).Split(',');
if (int.Parse(position[2]) != 1 && int.Parse(position[2])!=2 )
{
MessageBox.Show("Please Update number type accordingly:" + Environment.NewLine + "1 - High rank only " + Environment.NewLine + "2 -Low Rank" );
}
else
return;
}
}
}