A. Bekiaris's Blog
Μάρτιος 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
Το Ιστολόγιο
Αρχική Σελίδα
Ετικέτες
13.2
ace.c9
AdditionalViewControlsProvider
anonymouslogin
AOP
application framework
aspect-oriented programming
AspxTreeListEditor
AuditTrail
BaseImpl
BDD
Blogging
breaking changes
C#
Code Generation
Code Quality
CodeDom
CodeRush
CodeSmith
Continous Integration
Cookies
Core.Web
Core.Win
CQL
CThru
dashboard
DataStoreAttribute
DBMapper
Design Patterns
Devexpress
DictionaryDifferenceStore
DomainComponents
DSL
DX
DxCore
Dynamic Types
EasyTest
Email
Entity Framework
events
ExcelImporter
eXpand
FormsAuthentication
IO
Logic
MemberlevelSecurity
Merging
ModelArtifactState
ModelDifference
Montly_News
MSpec
navigation
NBehave
NCaousel
NCover
NDepend
open source
performance
PivotChart
PostSharp
propertypathfilter
ProvidedAssociation
refactor
RememberMe
reports
Resharper
runtime members
Scheduler
Scripting
Security
source code
SqlDbMapper
statemachine
SubVersion
survey
TDD
Templating
TestDriven
Thumbnails
ToolTips
TortoiseSVN
training
TreeListEditors
TypeMock
v10
Validation
video
view inheritance
ViewController
ViewVariants
Visual Studio plugins
WCF
WebSitePark
WF
WorldCreator
WorldCreator2
Xaf
Xaf Tips
Xpo
XVideoRental
Πλοήγηση
Αρχική σελίδα
Ιστολόγια
Συζητήσεις
Εκθέσεις Φωτογραφιών
Αρχειοθήκες
Ιστορικό Δημοσιεύσεων
Ιανουάριος 2019 (1)
Οκτώβριος 2018 (1)
Αύγουστος 2018 (1)
Ιούνιος 2018 (1)
Μάρτιος 2018 (1)
Αύγουστος 2017 (2)
Απρίλιος 2016 (1)
Ιούλιος 2014 (1)
Ιούνιος 2014 (1)
Απρίλιος 2014 (1)
Δεκέμβριος 2013 (1)
Νοέμβριος 2013 (7)
Οκτώβριος 2013 (6)
Σεπτέμβριος 2013 (4)
Αύγουστος 2013 (4)
Ιούλιος 2013 (7)
Μάιος 2013 (2)
Απρίλιος 2013 (2)
Μάρτιος 2013 (1)
Φεβρουάριος 2013 (2)
Ιανουάριος 2013 (5)
Δεκέμβριος 2012 (3)
Νοέμβριος 2012 (3)
Σεπτέμβριος 2012 (1)
Αύγουστος 2012 (2)
Μάιος 2012 (1)
Απρίλιος 2012 (1)
Μάρτιος 2012 (2)
Ιανουάριος 2012 (2)
Δεκέμβριος 2011 (4)
Νοέμβριος 2011 (1)
Σεπτέμβριος 2011 (5)
Αύγουστος 2011 (5)
Ιούνιος 2011 (1)
Απρίλιος 2011 (2)
Μάρτιος 2011 (1)
Φεβρουάριος 2011 (2)
Ιανουάριος 2011 (2)
Δεκέμβριος 2010 (3)
Νοέμβριος 2010 (3)
Οκτώβριος 2010 (3)
Σεπτέμβριος 2010 (8)
Αύγουστος 2010 (6)
Ιούλιος 2010 (1)
Μάιος 2010 (3)
Απρίλιος 2010 (5)
Μάρτιος 2010 (9)
Φεβρουάριος 2010 (5)
Ιανουάριος 2010 (3)
Δεκέμβριος 2009 (3)
Νοέμβριος 2009 (8)
Οκτώβριος 2009 (11)
Σεπτέμβριος 2009 (8)
Αύγουστος 2009 (8)
Ιούλιος 2009 (10)
Ιούνιος 2009 (21)
Συνδρομές
RSS 2.0
Atom 0.3