У меня есть Gridview, где я могу изменить временную часть поля DateTime. Метод обновления работает хорошо, за исключением одного:Обновление Gridview Изменение моего параметра обновления?
Поле должно разрешать только временную часть, например 08:23:09
, но в базе данных она сохраняет ее как полную дату DateTime, например 10/18/2010 08:23:09 AM
. Проблема в том, что при редактировании вместо добавления существующей части Date она добавляет текущую часть Date. Поэтому, если я редактирую элемент из последнего примера в 08:25:09
вместо добавления его как 10/18/2010 08:25:09 AM
, он добавляет его как 10/20/2010 08:25:09 AM
, что явно нежелательно.
Вот как я делаю обновление:
protected void grvOutHour_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
GridView grvOutHour = (GridView)this.grvReport.Rows[grvReport.EditIndex].FindControl("grvOutHour");
TextBox txtBox = (TextBox) grvOutHour.Rows[e.RowIndex].FindControl("txtEditOutHour");
string outHour = this.Source[grvReport.EditIndex].EntryDate + " " + txtBox.Text;
odsOutHours.UpdateParameters["OutHour"].DefaultValue = outHour;
}
До этого момента, значение outHour
«s является искомым, например 10/18/2010 08:25:09 AM
, но, как только передается значение моего фактического метода Update:
public static void UpdateHour(int pEntryID, DateTime InHour, DateTime OutHour)
{
Hour hour = HoursDataMng.GetEntity(pEntryID, InHour.Date, InHour.TimeOfDay);
if (hour == null)
return;
else
{
hour.OutHour = OutHour;
HoursDataMng.SubmitChanges();
}
}
Я могу видеть, что OutHour изменился на 10/20/2010 08:25:09 AM
что происходит?
Да, в настоящее время я использовал что-то похожее на обходное решение, но мне интересно, почему Date изменяется в первую очередь. Спасибо хоть! –