Example #1
0
    public static void LoadItems(AjaxResponse prevResponse, IAjaxMng ajaxMng, ComboBox cbx, String bioCode, Params bioParams, Action<ComboBox, AjaxResponse> callback, Boolean addNullItem, Boolean useCache) {
      if ((prevResponse != null) && (!prevResponse.Success)) {
        if (callback != null)
          callback(cbx, prevResponse);
        return;
      }

      var v_cli = new JsonStoreClient {
        AjaxMng = ajaxMng,
        BioCode = bioCode
      };
      CbxItems storedItems = null;
      if (useCache)
        storedItems = _restoreItems(bioCode);
      if (storedItems != null) {
        _loadItems(cbx, storedItems, addNullItem);
        if (callback != null)
          callback(cbx, new AjaxResponse { Success = true });
      } else {
        v_cli.Load(bioParams, (s, a) => {
          if (a.Response.Success) {
            var cbxitems = new CbxItems {metadata = v_cli.JSMetadata, ds = v_cli.DS};
            if (useCache)
              _storeItems(bioCode, cbxitems);
            _loadItems(cbx, cbxitems, addNullItem);
          }
          if (callback != null)
            callback(cbx, a.Response);
        });
      }
    }
Example #2
0
 private static void _loadItems(ComboBox cbx, CbxItems items, Boolean addNullItem) {
   if ((items != null) && (items.metadata.Fields.Count > 1)) {
     cbx.SelectedValuePath = items.metadata.Fields[0].Name;
     cbx.DisplayMemberPath = items.metadata.Fields[1].Name;
     if (addNullItem) {
       var nullRow = items.NewRow();
       nullRow.SetValue(cbx.SelectedValuePath, null);
       nullRow.SetValue(cbx.DisplayMemberPath, "<не выбрано>");
       ((IList)items.ds).Insert(0, nullRow);
     }
     cbx.ItemsSource = items.ds;
     if (addNullItem)
       cbx.SelectedIndex = 0;
   }
 }
Example #3
0
 private static void _storeItems(String bioCode, CbxItems items) {
   Utl.StoreUserObjectStrg("cbxItems-" + bioCode, items, new JsonConverter[] { new CbxItemsConverter() });
 }