簡體   English   中英

將onClick添加到Infragistics WebDataGrid

[英]Add an onClick to an Infragistics WebDataGrid

我有一個Infragistics WebDataGrid,我想每次單擊一個單元格時都觸發一個服務器端事件。 我知道我可以創建一個按鈕並向其中添加一個onclick,但是我希望某些或所有數據單元都是可單擊的。 我也看到了這個( https://www.infragistics.com/community/forums/f/ultimate-ui-for-asp-net/108226/onclick-event-for-webdatagrid ),但是我需要事件來觸發服務器端。

您可以嘗試以下方法:

  1. 處理“ Click”客戶端事件,並調用__doPostBack js函數來觸發回發。 Page_Load服務器事件將幫助您確定回發是否是由單擊引起的。 要考慮的事情是,在網格內部的每次點擊都會觸發客戶端事件“點擊” ,請查看提供的API鏈接以獲取更多信息。
  2. 激活選擇行為,並處理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"];

...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM