zoukankan      html  css  js  c++  java
  • Ext.NET Combobox实现数据源静态配置

    背景

    • 项目中使用增值税税率, 需求原本是统一的指定税率, 譬如3% 5% 等固定的. 随着业务增加, 发现不同业务有不同的税率, 一会加一个, 一下要改很多个界面. 就想着放到统一的地方.

    技术背景

    • 界面主要使用 Ext.NET方式构建, 引用js文件方式.

    代码实现

    /// 定义一个Combobox 待会要使用的静态数据源 base.js
    var VTaxRatioCMB = Ext.create('Ext.data.Store', {
        id: 'VTaxRatioCMB',
        fields: ['value', 'name'],
        data : [
            {"value":0, "name":"0"},
            {"value":0.03, "name":"3%"},
            {"value":0.05, "name":"5%"},
            {"value":0.06,"name":"6%"}, 
            {"value":0.085, "name":"8.5%"},
            {"value":0.11, "name":"11%"},
            {"value":0.13, "name":"13%"},
            {"value":0.17, "name":"17%"}
         ]
      });
    
    //使用到的界面引入上面js文件后, 使用. 测试加载都没有问题.
    
    <ext:ComboBox ID="TaxRatio"  StoreID="VTaxRatioCMB" AutoDataBind="true" ValueField="value"  DisplayField="name" runat="server" FieldLabel="税率/征收率" Editable="false" LabelAlign="Right" AnchorHorizontal="90%" EmptyText="" TabIndex="24" IndicatorText="*" IndicatorCls="Indicator" AllowBlank="false">
    				   <CustomConfig>
    				   <ext:ConfigItem Name="tooltip" Value="税率/征收率" />
    				   </CustomConfig>
    				   <Listeners>
    					   <Select Handler="
    						">
    					 </Select>
    				 </Listeners>
    				   </ext:ComboBox>
    
    

    题外话

    • 界面表单加载 combobox时原本通过如下方式加载, 这种定义store方式 赋值combobox 不影响对应逻辑. 需要注意值类型
    var initComboxByValue = function (comb) {
    			var value = comb.getValue();
    			// 此处value定义的类型需要为Int类型, 不然无法匹配类型
    
    			var record = comb.findRecordByValue(value);
    			if (record) {
    			comb.setSelectedItems(record);
    			} else {
    			comb.setValue('');
    			}
    			
    		}
    /处理combox数据
    		var combs = App.ValueAddedTaxPanel.queryBy(function (item) {
    			return item.getXType() == 'combobox';
    		});
    		Ext.Array.each(combs, function (item) {
    			initComboxByValue(item);
    		});
    
  • 相关阅读:
    Hystrix高可用系统容错框架,资源隔离,熔断,限流
    Leecode no.25 K 个一组翻转链表
    no.1 Web浏览器
    源码解析-JavaNIO之Buffer,Channel
    Leecode no.24 两两交换链表中的节点
    Kafka RocketMQ 是推还是拉?
    Leecode no.23 合并K个升序链表
    图解计算机底层IO过程及JavaNIO
    Leecode no.21 合并两个有序链表
    AcWing每日一题--摘花生
  • 原文地址:https://www.cnblogs.com/hijushen/p/6702411.html
Copyright © 2011-2022 走看看