picyka
uniGUI Subscriber-
Posts
1082 -
Joined
-
Last visited
-
Days Won
34
Content Type
Profiles
Forums
Events
Everything posted by picyka
-
I'll do some tests, but something would be better in the css because the panels became so clear ... imagine having to wipe all the application panel
-
maybe it's here .x-panel-body-default background:
-
Yes, in version 6.5 note that the gray theme became clearer, for what it causes a certain discomfort for vision, sorry my English.
-
http://prime.fmsoft.net/demo/desktop/mdemo65.dll 1.10.0.1467 http://prime.fmsoft.net/demo/desktop/mdemo.dll 1.0.0.1424 menu Simple Panels Is there a color difference in the panel, would it be possible to use the same color as the last version? Tranks.
-
very well!
-
Attached. unit uniDBLookupComboBoxObject; interface uses System.SysUtils, System.Classes, Vcl.Controls, Vcl.Forms, Data.DB, uniGUIBaseClasses, uniGUIClasses, uniMultiItem, uniComboBox, uniDBComboBox, uniDBLookupComboBox, Aurelius.Bind.Dataset, System.Variants, devsul.model.search, Aurelius.Criteria.Linq, Aurelius.Criteria.Base; type TUniDBLookupComboBoxObject = class(TUniDBLookupComboBox) private { Private declarations } FRequired: Boolean; FListSource, FDataSet: TAureliusDataset; FCriteriaListSource: TCriteria; FListValues: TStringList; procedure ExecuteSearch; protected { Protected declarations } FOldUniTriggerEvent: TUniTriggerEvent; FSearch: TSearch; procedure DoSetRemoteValue(AIndex: Integer; Value: string); override; procedure MyTriggerEvent(Sender: TUniCustomComboBox; AButtonId: Integer); procedure LoadCompleted; override; procedure _RemoteQuery(const QueryString: string; Result: TStrings); procedure _GetKeyValue(const Value: string; var KeyValue: Variant); public { Public declarations } constructor Create(AOwner: TComponent); override; destructor Destroy; override; procedure SetSearch(Search: TSearch); published { Published declarations } property Required: Boolean read FRequired write FRequired default False; end; procedure Register; implementation uses view.search.default, uniGUIApplication, Winapi.Windows; procedure Register; begin RegisterComponents('UniGUI Extension', [TUniDBLookupComboBoxObject]); end; { TUniDBLookupComboBoxObject } constructor TUniDBLookupComboBoxObject.Create(AOwner: TComponent); begin inherited Create(AOwner); end; destructor TUniDBLookupComboBoxObject.Destroy; begin if Assigned(Self.FSearch) then Self.FSearch.Free; if Assigned(Self.FListValues) then Self.FListValues.Free; if Assigned(Self.FCriteriaListSource) then Self.FCriteriaListSource.Free; inherited Destroy; end; procedure TUniDBLookupComboBoxObject.DoSetRemoteValue(AIndex: Integer; Value: string); begin inherited; if (VarIsNull(Self.KeyValue)) and (Assigned(Self.FDataSet)) then Self.FDataSet.EntityFieldByName(String(Self.DataField)).AsObject := nil; end; procedure TUniDBLookupComboBoxObject.ExecuteSearch; begin with TuniFormSearch.Create(UniApplication) do begin try ConfigureSearch(Self.FSearch); ShowModal; if ModalResult = mrOk then begin if Assigned(Selected) then begin Self.FListSource.Close; Self.FListSource.SetSourceObject(Selected); Self.FListSource.Open; if Assigned(Self.FDataSet) then Self.FDataSet.EntityFieldByName(String(Self.DataField)).AsObject := Selected; if Assigned(Self.OnSelect) then Self.OnSelect(Self); end; end; finally Free; end; Self.SetFocus; end; end; procedure TUniDBLookupComboBoxObject.LoadCompleted; begin if Self.Required then Self.ClientEvents.UniEvents.Values['beforeInit'] := 'function beforeInit(sender, config){Ext.apply(sender,{allowBlank:false,msgTarget : ''side''});}'; if Self.Triggers.Count = 0 then begin with Self.Triggers.Add do begin IconCls := 'x-form-search-trigger'; HandleClicks := True; Visible := True; end; end else begin Self.Triggers[0].IconCls := 'x-form-search-trigger'; Self.Triggers[0].HandleClicks := True; Self.Triggers[0].Visible := True; end; Self.FOldUniTriggerEvent := Self.OnTriggerEvent; OnTriggerEvent := Self.MyTriggerEvent; if Self.RemoteQuery then begin FListValues := TStringList.Create; Self.OnRemoteQuery := Self._RemoteQuery; Self.OnGetKeyValue := Self._GetKeyValue; end; inherited; end; procedure TUniDBLookupComboBoxObject.MyTriggerEvent(Sender: TUniCustomComboBox; AButtonId: Integer); begin if AButtonId = 0 then Self.ExecuteSearch; if Assigned(Self.FOldUniTriggerEvent) then Self.FOldUniTriggerEvent(Sender, AButtonId); end; procedure TUniDBLookupComboBoxObject._GetKeyValue(const Value: string; var KeyValue: Variant); var lObj: TObject; lIndex : Integer; begin KeyValue := Null; lObj := nil; if not Value.IsEmpty and not Self.FListSource.IsEmpty then begin if FListValues.Count = 0 then lObj := Self.FListSource.InternalList.Item(0) else begin lIndex := FListValues.IndexOf(Value); if lIndex <> -1 then lObj := Self.FListSource.InternalList.Item(lIndex); end; if Assigned(lObj) then KeyValue := Integer(lObj); end; end; procedure TUniDBLookupComboBoxObject._RemoteQuery(const QueryString: string; Result: TStrings); var lListFields: TStringList; i: Integer; lCriterion: TLinqExpression; lCustomCriteria: TCriteria; lStrListValue: String; begin if (Self.FCriteriaListSource <> nil) and (Trim(Self.Text) <> Trim(QueryString)) then begin lListFields := nil; try lListFields := TStringList.Create; lListFields.Text := Self.ListField.Replace(';', sLineBreak); lCustomCriteria := Self.FCriteriaListSource.Clone; lCriterion := Linq[lListFields[0]].Upper.Like(UpperCase(VarToStr(QueryString)) + '%'); lListFields.Delete(0); for i := 0 to lListFields.Count - 1 do if Self.FListSource.FieldByName(lListFields).Tag = 0 then lCriterion := lCriterion or (Linq[lListFields].Upper.Like('%' + UpperCase(VarToStr(QueryString)) + '%')); lCustomCriteria.Where(lCriterion); Self.FListSource.Close; Self.FListSource.SetSourceCriteria(lCustomCriteria, 25); Self.FListSource.Open; lListFields.Text := Self.ListField.Replace(';', sLineBreak); Self.FListValues.Clear; while not Self.FListSource.Eof do begin lStrListValue := EmptyStr; for i := 0 to lListFields.Count - 1 do begin if i = 0 then begin if Self.FListSource.FieldByName(lListFields).AsString <> '' then lStrListValue := Self.FListSource.FieldByName(lListFields).AsString end else begin if Self.FListSource.FieldByName(lListFields).AsString <> '' then lStrListValue := lStrListValue + ' - ' + Self.FListSource.FieldByName(lListFields).AsString; end; end; if not lStrListValue.IsEmpty then begin Result.Add(lStrListValue); Self.FListValues.Add(lStrListValue); end; Self.FListSource.Next; end; finally lListFields.Free; lCriterion := nil; end; end; end; procedure TUniDBLookupComboBoxObject.SetSearch(Search: TSearch); var lObject: TObject; begin Self.FSearch := Search; Self.FListSource := TAureliusDataset(Self.ListSource.Dataset); Self.FDataSet := TAureliusDataset(Self.DataSource.Dataset); Self.FCriteriaListSource := Search.Criteria.Clone; lObject := Self.FDataSet.EntityFieldByName(String(Self.DataField)).AsObject; if Assigned(lObject) then begin Self.FListSource.Close; Self.FListSource.SetSourceObject(lObject); Self.FListSource.Open; Self.KeyValue := Integer(lObject); Self.UpdateText; end; end; end.
-
Good morning gentlemen, Farshad, a small suggestion, would be very attractive if you did a live showing the potential of the hyperServer, from configuration to a high load of sessions, this would be a product marketing. Not to mention the new features supported by UNIGUI. Just a suggestion.
-
I can yes, I am not with him here at the moment the night I post, you will need to modify it because I usu TMS Aurelius.
-
Hello, I had to modify the component to get it on demand automatically, it was not very elegant but it works. it would be interesting if this works automatically, without typing anything.
-
Unigui comes out daily, every day is more beautiful, what world do you live in?
-
very very very very good!
-
[OFF] I'm testing a kml file, no online demo works, no console demo shows show http://maps.googleapis.com/maps/api/js/KmlOverlayService.GetOverlays?1shttp%3A%2F%2Flocalhost%3A8077%2F%2Fcache%2Funigmapdemo_exe%2F5sRIcmzZJG101561CDA%2F8D470FAF-073E-4B44-B699-C6ACF34DC290.txt&callback=_xdc _._ pfk19i & token = 97810 preview /**/_xdc_._pfk19i && _xdc _._ pfk19i ([0, null, null, null, null, null, 2, [["cliente", "2"]]]) resposta /**/_xdc_._pfk19i && _xdc _._ pfk19i ([0, null, null, null, null, null, 2, [["cliente", "2"]]]) do not load, I already released the key in the google console
-
Until today I did not get a solution, in chrome it works well.
-
Hi, is there a datetime field in mobile, I do not think, any suggestions?
-
+1
-
not working in safari ? any alternative?
-
Does this feature not work in Safari Mobile? Link test: https://dsassist.devsul.com.br/ you do not even have to log in the system, just open it and then minimize it, when you try to go back and refresh the page.
-
Hi mohammad { text: Number, dataIndex: 'sNumeric'} how would the column appear for a numbered, right-aligned, and formatted field Thank you
-
http://forums.unigui.com/index.php?/topic/9925-dbgrid-with-ext-66/?hl=4.2&do=findComment&comment=52214 maybe it will help.
-
There is a hard person missing to create components, we do not exploit almost anything of extjs resources.
-
very good, you have a very good talent in extsjs, should create components and market.
-
I took the recycling, I do every day at 00:00:00 and 12:00:00, you can schedule this in IIS.
- 8 replies
-
- RAM
- Memory Usage
-
(and 1 more)
Tagged with: