Получился загадочный глюк DataGrid-a с EditCommandColumn. Один вариант срабатывает, второй — ни_в_какую. Может подскажете в чем причина глюка? или в какую сторону "копать"?
В обработчике
override protected void OnInit(EventArgs e)
{
InitializeComponent();
base.OnInit(e);
}
private void InitializeComponent()
{
this.listNewForm2.EditCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(listNewForm2_EditCommand);
this.Load += new System.EventHandler(this.Page_Load);
}
мы обработку события EditCommand привязываем к функции listNewForm2_EditCommand
private void listNewForm2_EditCommand(object source, DataGridCommandEventArgs e)
{
listNewForm2.EditItemIndex = e.Item.ItemIndex;
DataBindGrid();
}
Так вот глюк в чем — в первом варианте событие ПРОИСХОДИТ, во втором — нет!!!
Вариант 1:
<asp:DataGrid ID="listNewForm2" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:ButtonColumn ButtonType="PushButton" CommandName="Delete" Text="Удалить" />
<asp:EditCommandColumn ButtonType=LinkButton UpdateText="Занести число" EditText="Редак.Порядок" CancelText="Отменить" />
<asp:BoundColumn DataField="orderID" HeaderText="Порядок на форме" />
<asp:BoundColumn DataField="razmerOnScreen" HeaderText="Размер на экране" ReadOnly="True" />
</Columns>
</asp:DataGrid>
Вариант 2:
если мы вместо
ButtonType=LinkButton, ставим
ButtonType="PushButton"
то событие EditCommand не происходит
<asp:DataGrid ID="listNewForm2" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:ButtonColumn ButtonType="PushButton" CommandName="Delete" Text="Удалить" />
<asp:EditCommandColumn ButtonType="PushButton" UpdateText="Занести число" EditText="Редак.Порядок" CancelText="Отменить" />
<asp:BoundColumn DataField="orderID" HeaderText="Порядок на форме" />
<asp:BoundColumn DataField="razmerOnScreen" HeaderText="Размер на экране" ReadOnly="True" />
</Columns>
</asp:DataGrid>