Вы можете попробовать следующее:
- Обработка «Клик» клиентское событие и вызов функции __ doPostBack js для запуска обратной передачи.Событие сервера Page_Load поможет вам определить, вызвана ли обратная передача щелчком или нет.Что нужно учесть, клиентское событие «Клик» будет запускаться при каждом щелчке внутри таблицы, для получения дополнительной информации ознакомьтесь с предоставленной ссылкой API .
- АктивироватьПоведение выбора и обработка события клиента CellSelectionChanged.Отсюда используйте подход с __ doPostBack .
Grid - это очень мощный элемент управления с богатым API и поведением, поэтому мы могли бы предложить другой способ достижения этого.
Фрагмент:
..
<script>
function client_click(sender, evtArgs) {
// First Approach
__doPostBack('myRequest', "someValue");
}
function WDG_Selection_CellSelectionChanged(sender, eventArgs)
{
// Second Approach
__doPostBack('myRequest', "someValue");
}
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager runat="server" ID="ScriptManager1"></asp:ScriptManager>
<div>
<ig:WebDataGrid runat="server" ID="WDG" AutoGenerateColumns="False" Width="600px">
<ClientEvents Click="client_click" />
<Columns>
<ig:BoundDataField DataFieldName="CategoryId" Key="CategoryId">
<Header Text="CategoryId">
</Header>
</ig:BoundDataField>
<ig:BoundDataField DataFieldName="CategoryName" Key="CategoryName">
<Header Text="CategoryName">
</Header>
</ig:BoundDataField>
<ig:BoundDataField DataFieldName="Description" Key="Description">
<Header Text="Description">
</Header>
</ig:BoundDataField>
</Columns>
<Behaviors>
<ig:EditingCore>
<Behaviors>
<ig:CellEditing>
<CellEditingClientEvents EnteringEditMode="entering_edit_mode" />
</ig:CellEditing>
</Behaviors>
</ig:EditingCore>
<ig:Selection>
<SelectionClientEvents CellSelectionChanged="WDG_Selection_CellSelectionChanged" />
</ig:Selection>
</Behaviors>
</ig:WebDataGrid>
..
c #
protected void Page_Load(object sender, EventArgs e)
{
string parameter = Request["__EVENTARGUMENT"];
...