从同一行中其他单元格的 SUM 设置单元格值
Setting cell value from SUM of other cells in the same row
我有一个带有一些数字列的网格面板。我有一列将包含其他列的总和。当用户关注 SUM 列时,我想自动设置这个值。这是我的代码:
<ext:Column runat="server"
DataIndex="totalth"
Text="TOTAL (T/H)"
Flex="2"
Align="Center">
<Editor>
<ext:NumberField
runat="server"
AllowBlank="false"
AllowDecimals="true"
DecimalPrecision="3"
name="totalth"
Step="0.01">
<Listeners>
<Focus Fn="getSum"></Focus>
</Listeners>
</ext:NumberField>
</Editor>
</ext:Column>
Javascript Fn:
var getSum = function (item) {
item.setValue/*(here is the sum of other two cells in the same row.)*/;
};
如何从其他单元格中获取值?也许在服务器端做更好,我不知道。
这是 ext.net 的修改后的答案。
您仍然可以使用 renderer
,因为它适用于记录。如果你只想在某些动作上显示它,有多种方法可以做到。就像鼠标悬停一样,您可以使用 overCls
来隐藏使用 CSS 的文本,就像我在示例中所做的那样。
如果要显示总和,则不需要使用编辑器。可以在 getSum
渲染器中处理数字格式。
Javascript:
var getSum = function ( value, metadata, record ) {
var sum = record.get( 'column1' ) + record.get( 'column2' )
return sum.toFixed( 2 ); // to show 2 decimal places
}
Ext.net:
<ext:Column runat="server"
DataIndex="totalth"
Text="TOTAL (T/H)"
Flex="2"
Align="Center"
cls="column-hidden"
overCls="column-shown">
<Renderer Fn="getSum" />
CSS:
x-column-hidden { /* x- prefix needed depending on your version */
/* style to hide your text */
}
x-column-shown {
/* style to cancel hiding */
}
我有一个带有一些数字列的网格面板。我有一列将包含其他列的总和。当用户关注 SUM 列时,我想自动设置这个值。这是我的代码:
<ext:Column runat="server"
DataIndex="totalth"
Text="TOTAL (T/H)"
Flex="2"
Align="Center">
<Editor>
<ext:NumberField
runat="server"
AllowBlank="false"
AllowDecimals="true"
DecimalPrecision="3"
name="totalth"
Step="0.01">
<Listeners>
<Focus Fn="getSum"></Focus>
</Listeners>
</ext:NumberField>
</Editor>
</ext:Column>
Javascript Fn:
var getSum = function (item) {
item.setValue/*(here is the sum of other two cells in the same row.)*/;
};
如何从其他单元格中获取值?也许在服务器端做更好,我不知道。
这是 ext.net 的修改后的答案。
您仍然可以使用 renderer
,因为它适用于记录。如果你只想在某些动作上显示它,有多种方法可以做到。就像鼠标悬停一样,您可以使用 overCls
来隐藏使用 CSS 的文本,就像我在示例中所做的那样。
如果要显示总和,则不需要使用编辑器。可以在 getSum
渲染器中处理数字格式。
Javascript:
var getSum = function ( value, metadata, record ) {
var sum = record.get( 'column1' ) + record.get( 'column2' )
return sum.toFixed( 2 ); // to show 2 decimal places
}
Ext.net:
<ext:Column runat="server"
DataIndex="totalth"
Text="TOTAL (T/H)"
Flex="2"
Align="Center"
cls="column-hidden"
overCls="column-shown">
<Renderer Fn="getSum" />
CSS:
x-column-hidden { /* x- prefix needed depending on your version */
/* style to hide your text */
}
x-column-shown {
/* style to cancel hiding */
}