You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Devexpress Gantt中添加cellClick或RowClick点击事件?

问题解答

DevExpress 的 ASPxGantt 控件原生支持任务列表的行点击、单元格点击事件,你可以根据需求选择客户端或服务端事件配置,具体用法如下:

1. 客户端事件配置(前端处理点击逻辑)

你可以在控件声明中添加 ClientSideEvents 节点绑定对应事件,修改后的控件代码示例:

<dx:ASPxGantt ID="Gantt" runat="server" Height="700" Width="100%" >
    <ClientSideEvents 
        TaskListRowClick="function(s, e) {
            // 行点击逻辑,e.key 可以拿到当前行对应任务的ID
            console.log('点击的行任务ID:', e.key);
        }"
        TaskListCellClick="function(s, e) {
            // 单元格点击逻辑,e.column 可以拿到当前点击的列信息,e.key 是任务ID
            console.log('点击的列字段名:', e.column.fieldName, '任务ID:', e.key);
        }"
    />
    <SettingsTaskList Width="40%">
        <Columns>
            <dx:GanttTextColumn FieldName="FleetNo" Caption="Fleet No" Width="100" />
        </Columns>
    </SettingsTaskList>
</dx:ASPxGantt>

2. 服务端事件配置(后端处理点击逻辑)

如果需要在后端处理点击事件,需要先开启控件回调,绑定服务端 TaskListRowClick 事件:

<dx:ASPxGantt ID="Gantt" runat="server" Height="700" Width="100%" 
    OnTaskListRowClick="Gantt_TaskListRowClick" EnableCallbacks="true">
    <SettingsTaskList Width="40%">
        <Columns>
            <dx:GanttTextColumn FieldName="FleetNo" Caption="Fleet No" Width="100" />
        </Columns>
    </SettingsTaskList>
</dx:ASPxGantt>

对应的后端C#处理逻辑示例:

protected void Gantt_TaskListRowClick(object sender, DevExpress.Web.ASPxGantt.GanttTaskListRowClickEventArgs e)
{
    // e.TaskKey 可以获取点击行对应任务的主键
    var taskId = e.TaskKey;
    // 你的后端处理逻辑
}

内容的提问来源于stack exchange,提问作者Ramani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 17:54:05