Возможно ли иметь флажок, который появляется только при редактировании последней строки GridView?Видимый флажок только в последней строке Gridview?
Я пытался что-то подобное в EditItemTemplate:
<asp:CheckBox ID="chkNextDay" runat="server"
ToolTip="Is it a next-day departure?"
Enabled="true"
Checked='<%# DateTime.Parse(Eval("OutHour","{0:d}")).Date >
DateTime.Parse(Eval("InHour","{0:d}")).Date %>'/>
Тогда на код-за я пытался скрыть это за исключением последнего, как это строки:
protected void grvOutHour_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView grvOutHour = (GridView)this.grvReport.Rows[grvReport.EditIndex].FindControl("grvOutHour");
TextBox txtBox = (TextBox)grvOutHour.Rows[e.NewEditIndex].FindControl("txtEditOutHour");
CheckBox nextDay = (CheckBox)grvOutHour.Rows[e.NewEditIndex].FindControl("chkNextDay");
if (grvOutHour.Rows.Count-1 != e.NewEditIndex)
nextDay.Visible = false;
}
Этот ПОЧТИ работал , но флажок показывался для всех полей, я думаю, потому что RowDataBound снова называется AFTER RowEditing, поэтому он снова делает все это :(
Любые предложения?
Спасибо, EtonB.
Имеет смысл для меня, однако nextDay подходит как null. Я предполагаю, что он не может найти элемент управления, потому что его внутри EditItemTemplate или что-то еще? –
@ Eton Попробуйте последнее изменение, изменилось, чтобы проверить, что RowState находится в режиме редактирования. –
Спасибо, теперь у меня есть странная проблема. Grid.Rows.Count изменяется в зависимости от того, какую строку я редактирую? Кроме того, у меня есть 3 строки, но при редактировании середины он не вводит этот метод, как будто он никогда не переходит в состояние редактирования. –