Пожалуйста, посмотрите на мой код ниже и скажите мне, где я иду не так.
case "particulars.aspx":
dt = JobCardManager.GetParticularsByJobId(id);
hidJobId.Value = id.ToString();
if (dt != null && dt.Rows.Count > 0)
{
gvParticulars.DataSource = dt;
gvParticulars.DataBind();
}
else
{
**dt.Rows.Add(dt.NewRow());**
gvParticulars.DataSource = dt;
gvParticulars.DataBind();
int TotalColumns = gvParticulars.Rows[0].Cells.Count;
gvParticulars.Rows[0].Cells.Clear();
gvParticulars.Rows[0].Cells.Add(new TableCell());
gvParticulars.Rows[0].Cells[0].ColumnSpan = TotalColumns;
gvParticulars.Rows[0].Cells[0].Text = "No Record Found";
}
ddlJobs.Enabled = false;
gvParticulars.ShowFooter = true;
break;
Я хочу добиться того, чтобы в случае dt
не было строк, мне нужно отобразить новую строку в нижнем колонтитуле, элементы управления уже добавлены в нижний колонтитул. Моя вставка обновления и добавления нового процесса все выполняются из самой сетки.
Таким образом, в случае, если моя таблица данных становится нулевой, в строке, отмеченной звездочкой, я получаю сообщение об ошибке "Столбец не допускает нулевое значение". Где в базе данных все столбцы имеют флажки Allow Null. Пожалуйста, помогите.
[Update]
Я не получаю первичный ключ в запросе. Только редактируемые части таблицы.