Extending Silverlight 3 DataGrid for some LOB requirements

  •        83

In my use of the Silverlight 3 DataGrid I have found several missing "features" that I continue to write code to compensate for. Well I finally took some time and incorporated a few of those missing features into the Silverlight 3 DataGrid codebase. Use and Enjoy




Related Projects

AutoExpandOver - Show popup on mouseover, focus, click in Silverlight


AutoExpandOver lets a user define "header" content and "popup" content. Then, depending on settings it will popup when the user hovers, clicks, or gives focus to the "header" content. The popup uses the hidden overlay strategy so it has those benefits/quirks.

rdb - Javascript ORM

  •    Javascript

ORM for nodejs. Supports postgres, mySql and sqlite. 1.7.1 Support for schemas (postgres only). 1.7.0 sqlite3 is now a peer dependency. Add it to your own package.json if you intend to use it. 1.6.9 Bugfix: one-to-many relation returns empty if strategy is included. 1.6.8 Bugfix: one-to-many relation returns empty if insert/update is done earlier in transaction. 1.6.7 Bugfix in relations. 1.6.6 Bugfix. 1.6.5 Improved performance on relations. 1.6.4 Bugfix. 1.6.3 Bugfix: potential incorrect timeZoneOffset when serializing date to JSON. Got timeZoneOffset from now() instead of on actual date. 1.6.2 Removed es6 syntax to ensure backwards compatability. Fixed global var leak. 1.6.1 Now supporting sqlite. 1.6.0 Bugfix: potential ambigous column error when using limit and relating to other tables. 1.5.9 Bugfix: using multipleStatements in mySql could sometimes cause an error when updates are run right before a select. Improved performance on limit when relating to other tables. Using uuid instead of node-uuid Updated all dependencies but generic-pool to latest. (Generic-pool has some breaking changes in latest. I will update it in next release.) 1.5.8 Cleanup line breaks in documentation. 1.5.7 Bugfix: getById.exclusive and tryGetById.exclusive did not lock if row was cached. Improved performance on tryGetFirst. 1.5.6 Raw sql filters can accept sql both as string and as function. E.g. var filter = {sql: function() {return 'foo > 1';}}. 1.5.5 Optional locks for getMany, tryGetFirst and tryGetById. Instead of calling getMany(params) just call getMany.exclusive(params). Same syntax goes for tryGetFirst and tryGetById. This will result in SELECT FOR UPDATE. Bugfix: bulk deletes now accepts raw sql filters too. 1.5.4 Transaction locks. Postgres only. 1.5.3 Upgraded to pg 6.0.3 1.5.2 Improved performance and reduced memory footprint. 1.5.1 Documented JSON column type. Bug fix: Insert and foreign key violation. 1.5.0 JSON column type. Postgres json type does not support rdb filters. 1.4.1 Empty filter would sometimes cause invalid filter. 1.4.0 Raw SQL query. 1.3.0 getMany() now supports limit and orderBy - same syntax as in streaming. 1.2.3 Bugfix: iEqual gave incorrect sql when parameterized. 1.2.2 Exlusive no longer returns a clone of table. It has changes current table to exclusive locking. 1.2.1 Bugfix: Exclusive row locks 1.2.0 Exclusive row locks 1.1.0 Now supporting streaming. Requires postgres or MySQL >=5.7.7 1.0.8 README fixup. 1.0.7 Better performance on insert and update. 1.0.6 Bugfix: Transaction domain should not forward rdb singleton from old domain. 1.0.5 Documentation cleanup. 1.0.4 orderBy in toDto(). 1.0.3 toDto() using next tick on every thousandth row to avoid maximum call stack size exceeded. 1.0.2 Reduced number of simultaneous promises in order to avoid maximum call stack size exceeded. 1.0.1 Bugfix: Incorrect insert/updates on timestamp without timezone. The time was converted utc instead of stripping the timezone. 1.0.0 Transaction domain forwards properties from old domain. Semantic versioning from now on. 0.5.1 Improved performance 0.5.0 Logging: rdb.log(someFunc) logs sql and parameters. Raw sql filters. 0.4.9 New method: tryGetById. New filter: iEqual, postgres only. Bugfix: rows.toJSON() without strategy did not include any children. 0.4.8 Explicit pooling with size and end(). Bugfix: mySql did not release client to pool. 0.4.7 Upgraded to pg 4.3.0 Upgraded to mysql 2.5.5 0.4.6 Upgraded pg 4.2.0. 0.4.5 Oops. Forgot to use pg.js instead of pg. 0.4.4 Upgraded all dependencies to latest. Using pg.js instead of pg. 0.4.3 Can ignore columns when serializing to dto. 0.4.2 Bugfix: update on a row crashes when a delete occurs earlier in same transaction. 0.4.1 Bugfix: more global leaks. 0.4.0 Bugfix: global leak. 0.3.9 Bugfix: eager loading joins/hasOne with non unique column names was not handled correctly. 0.3.8 Supports mySql. Bulk deletes. 0.3.7 Bugfix: eager loading manyRelation on a join/hasOne returned empty array #11 0.3.6 Fixed sql injection vulnerability. 0.3.5 Built-in fetching strategies for lazy loading. Works best in readonly scenarios. 0.3.4 Docs and examples split moved to separate file. 0.3.3 Fixed documentation layout again. 0.3.2 Fixed documentation layout. 0.3.1 Case insensitive filters: iStartsWith, iEndsWith and iContains. 0.3.0 Fix broken links in docs. 0.2.9 Support for row.delete(). Rollback only throws when error is present. 0.2.8 Guid accepts uppercase letters. Bugfix: null inserts on guid columns yielded wrong sql. 0.2.7 New method, toDto(), converts row to data transfer object. Bugfix: toJSON returned incorrect string on hasMany relations. 0.2.6 Fixed incorrect links in README. 0.2.5 Bugfix: caching on composite keys could give a crash #7. Improved sql compression on insert/update. 0.2.4 Bugfix: getMany with many-strategy and shallowFilter yields incorrect query #6. 0.2.3 Reformatted documentation. No code changes.

SpecializedEnum: a base class to allow enum-like behavior with arbitrary objects

  •    DotNet

This class uses readonly variables, reflection, generics, and an internal ordered list to provide behavior similar to that of an enum but with arbitrary objects or value types rather than only integer numeric types. Public static readonly variables can be added in the derived ...


  •    DotNet

Touch utility to update datetimes of folders and files even if readonly.

active_hash - A readonly ActiveRecord-esque base class that lets you use a hash, a Yaml file or a custom file as the datasource

  •    Ruby

ActiveHash is a simple base class that allows you to use a ruby hash as a readonly datasource for an ActiveRecord-like model. ActiveHash assumes that every hash has an :id key, which is what you would probably store in a database. This allows you to seamlessly upgrade from ActiveHash objects to full ActiveRecord objects without having to change any code in your app, or any foreign keys in your database.

switch_point - Switching database connection between readonly one and writable one

  •    Ruby

Switching database connection between readonly one and writable one. Suppose you have 4 databases: db-blog-master, db-blog-slave, db-comment-master and db-comment-slave. Article model and Category model are stored in db-blog-{master,slave} and Comment model is stored in db-comment-{master,slave}.

Castle.Windsor-READONLY - Windsor Container

  •    CSharp

Windsor Container

Castle.Core-READONLY - Castle Core

  •    CSharp

Castle Core

Castle.ActiveRecord-READONLY - Castle ActiveRecord

  •    CSharp

Castle ActiveRecord

EMF To GraphViz

  •    Java

This tool allows to generate a graphical representation of an EMF model (using GraphViz utility http://www.graphviz.org/). It may be considered as a lightweight readonly GMF alternative.



This nifty little application generates a batch file that, when run, will set the LOCK state of a chosen Site Collection and sub sites to either NoAdditions or Readonly or NoAccess

SharePoint Script

  •    Javascript

JavaScript Libs for SharePoint 2007, based on jQuery. Part I. Access sharepoint list using ajax (through web services), add, update, remove and query list items. Part II. Control sharepoint list forms (new and edit), hide, readonly the field, get/set the field value, etc.

BCS to provide stock information in SharePoint 2013


This .Net assembly BCS external system provides live, read only data on Dow Jones 30 stocks details from MSN money webservices.

Sharepoint 2010 - ListManager


A small tool which helps to: * attach/detach EventReceiver * set attributes of fields and lists which can't be edited trough the ui or SPDesigner * make a column readonly, hidden or undeleteable * manage where the column are displayed


  •    Java

Platform independent readonly jdbc driver to read xls and xlsx files.

termshare - Quick and easy terminal sharing.

  •    Go

Quick and easy terminal sharing for getting quick help or pair sysadmin'ing.Share interactive control with a copilot and/or a readonly view of your terminal with others. Copilots and viewers can use the client or a web-based terminal.

gohack - Make temporary edits to your Go module dependencies

  •    Go

You might want to put a sneaky log.Printf statement to find out how some internal data structure works, or perhaps try out a bug fix to see if it solves your latest problem. But since all those external modules are in read-only directories, it's hard to change them. And you really don't want to change them anyway, because that will break the integrity checking that the Go tool does when building. Luckily the modules system provides a way around this: you can add a replace statement to the go.mod file which substitutes the contents of a directory holding a module for the readonly cached copy. You can of course do this manually, but gohack aims to make this process pain-free.

CommonDomain-ReadOnly - Encapsulates various infrastructure concerns for domains.

  •    CSharp

This package has been deprecated because CommonDomain has been merged in NEventStore v.5.

tolk - Tolk is a web interface for doing i18n translations packaged as an engine for Rails 4 applications

  •    Ruby

Tolk is a Rails engine designed to facilitate the translators doing the dirty work of translating your application to other languages. Tolk treats I18n.default_locale as the master source of strings to be translated. If you want the master source to be different from I18n.default_locale, you can override it by setting Tolk::Locale.primary_locale_name. Developers are expected to make all the changes to the master locale file ( en.yml by default ) and treat all the other locale.yml files as readonly files.

DataGrid RIA Services Extension for Silverlight

  •    Silverlight

This Extension helps Developers to get DisplayName for DataGrid column headers from RIA Services easily, all what you need is "add reference to library" and add to your existing DataGrid "attached property".