gpt4 book ai didi

java - 根据条件可扩展子网格

转载 作者:行者123 更新时间:2023-12-02 03:26:13 26 4
gpt4 key购买 nike

我有一个带有子网格的网格(祖 parent 、 parent 、子女关系)。

有没有办法根据条件将特定行设置为可扩展/不可扩展?

例如,所有祖 parent 都有 child ( parent ),有些 parent 有 child ,有些则没有。有没有办法让这些没有 child 的 parent 在jqgrid中不可扩展?我正在看onSubgridBeforeExpand属性,但这只会阻止子网格扩展。我不想让用户误以为网格应该是可扩展的,而实际上它不是(单击加号按钮,然后没有任何反应会令人困惑)。最坏的情况下,我可以使用此属性来显示一些表明没有子项的内容,但如果可能的话,我想避免这种情况。

提前致谢,这是我的带有网格的jsp。我不认为 struts.xml 或操作类对于此类问题是必要的,但如果您提供可能需要它们的原因,我可以分享它们。

<%@ page contentType="text/html; charset=UTF-8"%>

<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="sj" uri="/struts-jquery-tags"%>
<%@ taglib prefix="sjg" uri="/struts-jquery-grid-tags" %>

<s:form id="getJunctionInstance" name="getJunctionInstance" action="populateJI" targets="#gridtable" method="post">
<input hidden="true" name="rpName" id="rpName"/>
</s:form>

<s:form id="getServerHealth" name="getServerHealth" action="populateSH" targets="#gridtable2" method="post">
<input hidden="true" name="jiName" id="jiName"/>
</s:form>

<script>
$.subscribe("getJunctionInstance",function(event){
let row_id = event.originalEvent.row_id;
document.forms['getJunctionInstance'].elements['rpName'].value = row_id;
//document.forms['getJunctionInstance'].submit();
//Don't submit the form, as it is submitted when onSubGridRowExpanded for gridtable is called
});

$.subscribe("getServerHealth",function(event) {
let row_id = event.originalEvent.row_id;
document.forms['getServerHealth'].elements['jiName'].value = row_id;
});
</script>

<s:url var="remoteurl" action="updateRP"/>
<s:url var="junctionInstanceJson" action="updateJIJson"/>
<s:url var="serverHealthJson" action="updateSHJson"/>
<sjg:grid
id="gridtable"
caption="Reverse Proxy List"
dataType="json"
href="%{remoteurl}"
pager="true"
gridModel="proxies"
rowList="10,15,20"
rowNum="20"
rownumbers="true"
onSubGridRowExpanded="getJunctionInstance"
height="600"
width="900"
loadonce="true"
>
<sjg:grid
id="gridtable2"
caption="Junction Instance List"
dataType="json"
subGridUrl="%{junctionInstanceJson}"
pager="true"
gridModel="junctionInstance"
formIds="getJunctionInstance"
reloadTopics="getJunctionInstance"
rowList="10,15,20"
rowNum="20"
rownumbers="false"
onSubGridRowExpanded="getServerHealth"
width="700"
loadonce="true"
>
<sjg:grid
id="gridtable3"
caption="Server Health List"
dataType="json"
subGridUrl="%{serverHealthJson}"
pager="true"
gridModel="serverInstance"
formIds="getServerHealth"
reloadTopics="getServerHealth"
rowList="10,15,20"
rowNum="20"
rownumbers="false"
width="500"
loadonce="true"
>
<sjg:gridColumn name="name" index="name" title="Name" key="true" hidden="true" sortable="false"/>
<sjg:gridColumn name="label" index="label" title="Label" sortable="true"/>
<sjg:gridColumn name="health" index="health" title="Health" formatter="integer" sortable="true"/>
</sjg:grid>

<sjg:gridColumn name="name" index="name" title="Name" key="true" hidden="true" sortable="false"/>
<sjg:gridColumn name="label" index="label" title="Label" sortable="true"/>
<sjg:gridColumn name="health" index="health" title="Health" formatter="integer" sortable="true"/>
</sjg:grid>

<sjg:gridColumn name="name" key="true" index="name" title="Name" hidden="true" sortable="false"/>
<sjg:gridColumn name="label" index="label" title="Label" sortable="true"/>
<sjg:gridColumn name="health" index="health" title="Health" formatter="integer" sortable="true"/>
</sjg:grid>

Does anyone know if this type of conditioning is possible with jqgrid?

最佳答案

嗯,花了一段时间,但在偶然发现这个SO post之后今天,我终于想通了。我向每个网格添加了一个 onCompleteTopics 选项,每个网格都有不同的 formSubmission。然后我使用 javascript 函数来订阅这些表单提交,并执行逻辑。我利用 event.originalEvent 来获取用于检索符合我不需要子网格标准的 row_ids 的信息,并且帖子中提出的方法解决了其余问题!向那个人致敬!

关于java - 根据条件可扩展子网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56906509/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com