• I always joke to our team that our tools need to be so easy that Zarko (Co-CEO of Telerik) and I can build an application by pressing the “RAD Make My Application" button. A while ago some of you also voiced the need to have “RadDoEverythingForMeForTheRestOfMyLife”. While we are hard at work to provide more and more value with every release for all of our current product lines (and the new ones in development), we are always on the lookout for tools and technologies that would help us deliver the “RAD Make My Application Button”.

    The good news is that we, and...

  • If case you did not know, Telerik released LINQ to M a few weeks ago, enabling you to use a LINQ style interface with M values of data. Mehfuz and I have written blog posts where you can see how to use the basics. 

    There have been tremendous amounts of downloads and we have gotten tons of feedback. (Thanks, keep it coming!) One thing that stood out is that when you are building M values a lot of time you will have a named instance of your M code like this:

     1: //People is the named
    "M" instance
     2: People{
     3:  {Id=1,Name="Stephen
    Forte",Age=37},
     4:  {Id=2,Name="Mehfuz Hossain",Age=29},
     5:  {Id=3,Name="Vassil
    Terziev",Age=31},
     6:  {Id=4,Name="Nadia Terziev",Age=27},
     7:  {Id=5,Name="Chris
    Sells",Age=37},
     8:  {Id=6,Name="Todd Anglin",Age=27},
     9:  {Id=7,Name="Joel
    Semeniuk",Age=37},
     10:  {Id=8,Name="Richard...
  • One of the new data enhancements introduced in Silverlight 3 is the rich validation support. I am proud to announce that with our Service Pack release that is coming soon, RadControls for Silverlight will support all validation utilities introduced in Silverlight 3. Controls that benefit from the validation support in our Q2 Service Pack release are:

     

    RadTimePicker
    RadDatePicker
    RadNumericUpDown
    RadSlider
    RadMaskedTextBox
    RadTreeView

    The binding engine can catch exceptions that occur while updating a value if either the setter function of the source object throws an exception, or the associated type converter. For example the following setter function will throw an exception that will be handled by the...
  • With our Service Pack release coming soon, we introduce a complete change set for RadNumericUpDown both in Silverlight 3 and WPF that should resolve most of the little issues the Q2 version has. Even though we have introduced several minor breaking changes that are inevitable, we have taken a decision to include all these changes in our Service Pack release due to the increased demand for easy and simple input control. The credit for most of this fine-tuning should go to our great customers who constantly share their experience and are always willing to suggest new and innovative features.

     

    What is new?

    One...
  • The main goal of the Row Details feature is to let you present additional information about a row. This makes row details the perfect candidate for presenting hierarchical data.

    My sample uses two kinds of business objects – a football club and its players. As you might expect each club has some players. The master grid will show our clubs and when the user wants to see some additional information about a club he will be presented with the row details. Our first goal is to define what will these details look like. We would like to see some general information...

  • In our previous post in this series we had a look at how to optimize query execution with the help of parameterized queries. Today we will briefly look at what actually happens ‘behind the curtains’ when a LINQ query is executed and you get back  the results.

     

    As you already know LINQ can be used to query various data sources like in-memory objects, XML or databases,which is of particular interest to us. Consider the following example where we query for all employees who are born in the same month as today i.e.  in the month of July.

     

    var employees = from e in scope.Extent<Employee>()
                             
    where e.BirthDate.Month == DateTime.Now.Month
                             
    select e;
     
    As you can...
  • Overview

    The new docking framework introduces service-based semantic, which allows for granular and pluggable functionality per RadDock. Entire drag-and-drop functionality is handled by the registered DragDropService instance, which simply receives drag requests and instantiates the appropriate operation. The service is responsible for drop target hit-testing, displaying docking guides and docking hints as well as for processing user input while dragging is in progress.

    Default drag-and-drop behavior

    On the screen above, toolWindow3 instance is being dragged. The service has hit-tested the MainDocumentContainer as a drop anchor and the appropriate docking guide is displayed. The “Left” docking position is selected and the service “hints” the user...

  • Using export to HTML feature you can print the grid very easily just by adding following JavaScript to the export output:

    <script type=""text/javascript"">print();</script>


    You can use WebClient to save the output as file on the server:

    Silverlight client side:

    Uri uri = new Uri(HtmlPage.Document.DocumentUri, String.Format("PrintHandler.aspx?FileName={0}", fileName));
    WebClient client = new WebClient();
    client.UploadStringCompleted += new UploadStringCompletedEventHandler(client_UploadStringCompleted);
    client.UploadStringAsync(uri, String.Format("{0}{1}", RadGridView1.ToHtml(), printScript));
    ASP.NET server side:
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Request.QueryString["FileName"] != null)
        {
            File.WriteAllText(Server.MapPath(Request.QueryString["FileName"]),
                new StreamReader(Request.InputStream).ReadToEnd(), Encoding.UTF8);
        }
    }

    and request this file when upload...

  • ADO.NET Data Services enables an application to intercept request messages so that you can add custom logic to an operation. You can use this custom logic to validate data that goes to the client or returns to be persisted on the server. You can also use it to modify and filter further the scope of a query request, or add in that way a custom authorization policy on a per request basis.

    Interception is performed by specially attributed methods in the data service. These methods are called by ADO.NET Data Services at the appropriate point in message processing. Interceptors cannot accept...

  • How to get objects into the ObjectContainer?


    The ObjectContainer contains a closed world of instances, no reference is dangling and pointing out of the container. That means, the instance graph is contained completely in this 'workspace'. Of course, at some points the need arises to prune the graph, as otherwise the whole database content would need to be stored in the containers memory. This is no different to the connected IObjectScope, but in the scope, we can directly perform the loading of objects from the database (lazy loading).
    With the container, there is no connection to a database,...