Whenever you start working with a modern ORM tool, one of the biggest challenges is figuring out how to manage the "scope" (or sometimes called "context" or "data context"). It is this transactional space where the ORM tool keeps track of changes being made to "persistent objects" in your application so that they can be saved to your "persistence layer" (usually a database) when you're ready to commit them. But figuring out when to create a scope, when to close it, and all the annoying problems that result from closing a scope too early can be very frustrating, and they...
I’m happy to announce another episode of RadTips, a series of screencasts offering tips and tricks for using Telerik's RadControls. If you've missed previous episodes, be sure to check them out. Each is only a few minutes long and covers a specific feature of the RadControls. Here is a list of the last few episodes... Using the LinqDataSource in your RadGrid for ASP.NET AJAX Customizing Appointments with Resources in the RadScheduler for ASP.NET AJAX Customizing Templates in the RadScheduler for ASP.NET AJAX Spell-Checking with the RadSpell for ASP.NET AJAX Add an 'Export to PDF' Button to the RadEditor for ASP.NET AJAX If you’re...
The RadGridView for WPF uses the ItemsSource property for binding data. ItemsSource is actually of type System.Object which not only allows you to bind to any data source that implements IEnumerable, but also the ADO.NET DataTable and DataSet. In this post, I am going to demonstrate how you can quickly bind data to the RadGridView for WPF. The task will be to build a car repair shop application which will display all the cars currently in the shop. To get started we need to have some data, so we will use a simple class to store Car information. public class Car { public string Make { get; set; }...
As I said in my previous post I preferred using tools (StoryQ and NetSpec) to using descriptive method names (those with long names containing lots of underscores). Well, I lied. At first I was convinced that the tools would be good enough for me but as it usually occurs the truth lies somewhere in between.
Here's what I have in mind. Let's take as an example the famous sample showing how you could apply BDD when you want to develop the logic for transferring money from a savings account to a cash account. If you use StoryQ you could end up having something like this: [TestMethod] public void TransferToCashAccount() { ...
At the very end of 2008, the DotNetNuke Corporation released a new major version of their web application framework - DNN 5.0.0. Our modules and skinobject PAs were not compatible with the new release because of a change in DotNetNuke's handling of files and subfolders in the PA archive. With the new RadControls for ASP.NET AJAX service pack release (2008.3.1314), we updated our DNN resources to be compatible with the 5.0.0 installer. The new build of the RadControls modules and skinobjects for DotNetNuke can be used in version 5 and 4 as well. If you find an issue with the...
The agile manifesto says "Individuals and interactions over processes and tools" and I completely agree, the processes and tools won't turn your project into a success story, the individuals and interactions will. But what if you're already satisfied with the individuals and interactions and you're starting to look for how you could make your life easier. And here comes the role of the tools - to bring as less overhead as possible and at the same time help you meet your goals easier. That's what I was looking for when I decided to give BDD a try.
First I had to decide which of the following...
Although I ended my Selenium adventure a few months ago, there is a final topic I’d like to cover here. This one completes my set of posts concerning RadControls for ASP.NET AJAX test automation with Selenium. The tool, the Telerik ASP.NET QA team relied on during the past couple of years, helped us catch in time most of the bugs in RadControls that never came into production! A curios fact here is that Selenium 1.0 official release is finally coming soon after many years of development! Check out the recent post on Selenium blog announcing the exciting news. ...
Taking vacation is always nice, but that first day back in the office can be a bit overwhelming. Hundreds of emails to wade through, multiple projects needing attention, and that nagging feeling of being completely out of the loop. But I love this job and it’s good to be back. I spent the last two weeks on vacation due to the birth of my son. Pardon while I put on my proud daddy hat and gratuitously post a picture or two of little David. Now that I’m back from my short hiatus I thought I’d give you a preview of...
Using GridViewRow template and simple trigger you can define, style and show details for every data row in your RadGridView very easily: <Style TargetType="{x:Type telerik:GridViewRow}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type telerik:GridViewRow}"> <!--Your template goes here --> <ControlTemplate.Triggers> <MultiTrigger> <MultiTrigger.Conditions> <Condition Property="IsSelected" Value="True" /> <Condition Property="IsCurrent" Value="True" /> </MultiTrigger.Conditions> <SetterProperty="Visibility" TargetName="GroupBox" Value="Visible" /> ...
When you first add the RadGridView to your WPF application you will undoubtedly notice the section at the top of the control which I have outlined in red. This area is officially called the GridViewGroupPanel, but I am just going to call it the Group Panel to save myself some typing. The Group Panel allows the user to drag and drop column headers into the panel in order to group the data in the RadGridView at runtime. Below you will see that I have grouped my data by the "Make" column in my grid of vehicles. Additionally, the sort order of...