Μάρτιος 2010 - Δημοσιεύσεις

Pivoting at web
31 Μαρτίου 10 11:09 πμ | tolisss | 0 σχόλια   
Similar to New Pivoting module all features have been implemented for web as well so you can apply the PivotedPropertyAttribute along with inline editing to create complex views like   the above view has been created declaratively !!! No line of code was written for it you can also control your pivot settings at runtime see for example the pager options

Διαβάστε περισσότερα »

Δημοσίευση στην κατηγορία:
Position your actions anywhere
29 Μαρτίου 10 11:59 πμ | tolisss | 0 σχόλια   
When working with Xaf and MVC pattern in order to create actions we are using controllers and initialize them upon them. The default behavior of Xaf is to place our actions in the default toolbar of our view. What if we want to position our actions somewhere else in the view? Then we need to create a custom detailviewItem and write our code against the interface exposed by the detailviewitem. I really did not like the idea , I really wanted to continue to design my actions behavior against the controller interface so i have added an ActionButtonDetailItem for both win and web platforms that can be installed declaratively using the model like bind it to the action we want like and position it anywhere we want using Dx layout component to create our views like

Διαβάστε περισσότερα »

Δημοσίευση στην κατηγορία: ,
Xaf tip 12--How to pass parameters between controllers
26 Μαρτίου 10 10:35 πμ | tolisss | 0 σχόλια   
After working with MVC pattern exposed by Xaf I have realized that the best way to to pass parameters between controllers is by using events like public class PricePricetypeController : ViewController {     public event EventHandler < AdjustingPriceTypeEventArgs > AdjustingPriceType;       public void OnAdjustingPriceType( AdjustingPriceTypeEventArgs e)     {         EventHandler < AdjustingPriceTypeEventArgs > handler = AdjustingPriceType;         if (handler != null ) handler( this , e);     }     protected override void OnFrameAssigned()     {        

Διαβάστε περισσότερα »

Δημοσίευση στην κατηγορία:
Controlling DevExpress XtraGrid Control at runtime
24 Μαρτίου 10 09:42 πμ | tolisss | 0 σχόλια   
When I first met DevExpress I was amazed by their XtraGrid control. What a configuration monster!. Xaf exposes some of the configuration but not all. eXpand allows you to control all configurations of XtraGridControl per view as shown bellow

Διαβάστε περισσότερα »

Δημοσίευση στην κατηγορία: ,
The ModelArtifactState Module
22 Μαρτίου 10 11:23 πμ | tolisss | 0 σχόλια   
This one is the most complex implementation of the logic architecture cause this module is really a facade module. ActionState and ControllerState modules are hosted within it. But the implementation for each one of them as you see in the image bellow really looks alike   In order to control the different in model schema than the one that is provided bu defaul I have override the require methods of ControllerStateModule public class ControllerStateModule : ConditionalLogicRuleProviderModuleBase <TArtifactStateRule> where TArtifactStateRule : IConditionalLogicRule {         public override string LogicRulesNodeAttributeName {             get { return ControllerStateRulesNodeWrapper

Διαβάστε περισσότερα »

Δημοσίευση στην κατηγορία: ,
The AdditionalViewControlsProvider Module
19 Μαρτίου 10 08:51 πμ | tolisss | 0 σχόλια   
  AdditionalViewControlsProvider is a module that it only knows how to display a given control in a given position . So one could easily define an interface for the parameters needed when this behavior is implemented as public interface IAdditionalViewControlsRule : IConditionalLogicRule {     string Message { get ; set ; }     string MessagePropertyName { get ; set ; }     Type DecoratorType { get ; set ; }     Type ControlType { get ; set ; }     AdditionalViewControlsProviderPosition AdditionalViewControlsProviderPosition { get ; set ; }     bool UseSameIfFound { get ; set ; } } take a note that I inherit IConditionalLogicRule   thus logic engine can evaluate

Διαβάστε περισσότερα »

Δημοσίευση στην κατηγορία: ,
The Conditional Logic Module
18 Μαρτίου 10 05:00 μμ | tolisss | 0 σχόλια   
Say you want to make your rules conditional , meaning that you want your rules to be executed when certain criteria are valid for a given object. That is implemented at eXpand .ExpressApp.ConditionalLogic.dll assembly. I have extend ILogicRule interface like public interface IConditionalLogicRule : ILogicRule {     /// <summary>     /// Criteria to apply when show DetailView or filled ListView     /// </summary>     string NormalCriteria { get ; set ; }       /// <summary>     /// Criteria to apply when show ListView empty     /// </summary>     string EmptyCriteria { get ; set ; } } and create derived classes 1.from

Διαβάστε περισσότερα »

Δημοσίευση στην κατηγορία:
The Logic Module
15 Μαρτίου 10 08:23 πμ | tolisss | 0 σχόλια   
Xaf architecture and especially the model part is great. What it really teach us is how to parameterized our logic/behavior/code and store that parameter in the model in the form of attributes on already existing nodes or on rule nodes see Xaf Validation system or ConditionalEditorState system. eXpand has provided a similar architecture through its ModelArtifactState module. But after you start using such “ruling” modules for some times the most “logical” question will come into your mind. How I could define a uniform way of describing a behavior in terms of an interface and apply a ruling system upon it. The above problem exactly is address by logic module. What it does ? First look at ILogicRule interface public interface ILogicRule {     string

Διαβάστε περισσότερα »

Δημοσίευση στην κατηγορία:
ModelArtifactState - AdditionalViewControls breaking changes
14 Μαρτίου 10 08:09 μμ | tolisss | 0 σχόλια   
I have been pretty silent the last few weeks , but I have not been lazy so eXpand has now many more modules and features that I am going to speak about in my next posts. A Logic Module has been implemented and that lead to some breaking changes to ModelArtifactState / AdditionalViewControlsProvider modules ModelArtifactState The previous schema of ModelArtifactState rules was like < ModelArtifact >     < ConditionalControllerState IsNewNode = " True " >       < ControllerStateRule ID = " tests " TypeInfo = " DevExpress.ExpressApp.SystemModule.AboutInfo " IsNewNode = " True " />     </ ConditionalControllerState >   </ ModelArtifact >

Διαβάστε περισσότερα »

Δημοσίευση στην κατηγορία: , ,

Search

Go

Το Ιστολόγιο

Ιστορικό Δημοσιεύσεων

Συνδρομές