A recent project has had me spending a lot of time working with Telerik controls for WinForms, and sometimes learning some lesser-known tricks in the process.  Whether by research on Telerik's support site, contact with the fine people at Telerik themselves, or just plain old experimentation, it's been fun to learn these little tidbits that can help turn a control from just functionally acceptable into something much more.

Take the RadTabStrip control, for example.  Beyond the basic functionality of tabbing, it can actually be customized many ways to provide more intuitive navigation between application areas.  We were using the RadTabStrip ...

Have you ever been in the middle of large source file and you need to add a "DataTable" or something else, but you don't have the appropriate "using" directive at the top of your file? In VS.NET it is very simple to add the "using" directive with a few clicks saving us developers some valuable keystrokes.

In the shot below you see my simple class where I have added a new DataTable variable and the editor is warning me that it does not recognize the "DataTable" type.




If you position your cursor anywhere on the text "DataTable" and press the ...

The Texas gang braved freezing temperatures and got together for a little Christmas dinner and celebrated a great year with Falafel. Our chef gave us a Texas-sized helping of sushi, steak, chicken, shrimp, and calamari. Afterwards we all retired for a bit of ice cream.

DSCN2224

Fresh from the press!

 

The Falafel training department has just shipped the official RadControls for ASP.NET AJAX courseware used for training Telerik customers world-wide. This 800 page step-by-step self paced course includes real-world based training on AJAX, RadControls components, data binding, skinning, design-time configuration, server-side coding, client-side scripting and tips and tricks. The course materials also include a bonus reference application “ActiveSkill” that demonstrates combining controls and techniques.

 

The courseware can be downloaded from Telerik as a PDF, purchased in book form from Lulu.com or can be taught in person at your job site anywhere in the world....

On December 2nd 2008 at 6:30 PM, Lino Tadros, President & CEO of Falafel Software, will present two sessions on AJAX and Silverlight 2.0 from 6:30 to 8:30 PM at the Foothills College campus in Los Altos Hills.

Please visit http://www.baynetug.org to learn more about the UsersGroup and the two sessions.  Hope to see you there!

There are times when you may want to create your own custom build configuration in Visual Studio, such as to define compiler symbols or to set build options for different projects within the same solution.  Fortunately, as I recently discovered, Visual studio makes this very simple. 

Select your solution in the solution explorer, then use the Build menu to choose "Configuration Manager", which will let you manage the different configurations of your project.

image

Next, from the left-most drop down menu, choose "New" to create your own configuration.

image

From the next window, you can name your configuration, and even select whether ...

If you've ever worked with an object with an IDENTIY column and an INSTEAD OF INSERT trigger defined, you are familiar with this issue; since the INSERT occurs within the scope of the trigger instead of the scope of the insert statement that caused the trigger to execute, SCOPE_IDENTITY() does not return the value of the IDENTITY column. Here is an example of a common situation: a base table with an IDENTITY column and and extension table with a 1:1 relationship to the base, and the storage details abstracted by a view that encapsulates the join logic:

begin  tran  go...

Sometimes while working on a project in Visual Studio, I come across a property or setting that makes me think, "Hey, that's just too easy, why haven't I used this before?".  That's exactly what I thought when I returned to Windows Forms development, and found the AcceptButton and CancelButton properties of a Form. 

Let's say you've got a standard form, and when the user is finished filling in the information, they either "Submit" the information, or they "Cancel" out of the form.  Users generally also expect the Enter key to submit, and also the Escape key to cancel, since that's ...

If you recently got this error when trying to print from your SQL Server Reports page then listen up. We recently started getting this with one of our big report server installations. We hadn't deployed any new reports recently, no recent configuration changes, so why now? I did remember applying a number of Windows updates to one of my development machines the night before. A quick check with the customer client machines revealed that those same Window updates also got applied. So I tried printing a report from one of my other development machines that had not gotten the Windows ...

Hi Fellow .NET geeks worldwide! Are you going to be at PDC 2008 in Los Angeles ?  If Yes, then look for our CTO, John Waters in this flashy shirt seen below around the Telerik booth # 401

We are looking for a few GOOD .NET developers and trainers, John will be conducting interviews right at the PDC, who knows you might go home with an offer letter in hand to start working for a fun and successful company.

Best of luck to all and have a great conference!

dotnet

Lino Tadros (CEO) and John Waters (CTO) had the pleasure of presenting the new release of ActiveFocus 2008 Q3 this week in Denver Colorado at the PMI Conference.  The product received rave reviews for its elegance, ease of use and speed.  Stay tuned for the release of the product to the public in the next week.

image

The Falafel team from California, Colorado and Texas assembled once again for the 5th annual Maui retreat from Oct 4th to Oct 11th.  We all had a wonderful time and got a chance to celebrate a very successful year at Falafel and enjoy each other's company and our families.  Cheers to all the Falafelites for a great year and a great vacation!

Hawaii2008_1

I recently discovered that I can actually use most of my favorite C# 3.0 language features even in projects that target .NET Framework 2.0. For some of you, this is probably a 'duh, of course you can, those are compiler features, not framework features!', but for those of you out there like me that didn't cotton on to this, I hope this blog will be good news!

So, here are the features you can use:

  • object initializers
  • lambda expressions (yeah!)
  • automatic properties
  • anonymous types
  • local variable type inference

Again, this is because these features are all ...

First, some test data:

declare @emp  table ( name  varchar(50)  primary  key )
insert @emp  values
    (  'Lino' ),
    (  'John' ),
    (  'Noel' )

Now, here's an example of the old, long way to do things. I'll use a custom while loop instead of cursors, because the cursor-based approach takes even more code than this:

select *
into #while_loop
from @emp

declare @name  varchar(50), @str  varchar(max)

while  exists (  select *  from #while_loop )
begin  select  top 1 @name = name
     from #while_loop
    
     delete #while_loop
     where name = @name
    
     set @str =  ...

While working on some custom editing controls in a WPF application, I began wishing I could provide my users with some simple spell-checking features.  Although I hadn't used it, I was sure that the RichTextBox control would allow spellchecking, but I was doubtful that my simple TextBoxes would be able to do the same thing.  I was happy to be proven very wrong! 

WPF TextBoxes do allow for spellchecking features, and enabling the feature is as easy as setting a boolean.  Here's the style XAML for two controls which enable spellchecking.

<Style  TargetType="{x:Type  TextBox}">
    ...

This is embarassing. I've been coding in T-SQL for years, and when I've had to invert a bit, I've been writing stuff like this:

case @bit  when 0  then  cast ( 1  as  bit )
     when 1  then  cast ( 0  as  bit )
     else  null
end

because the NOT operator doesn't work on bits. Today, I thought to myself: "Bitwise NOT. Didn't I see that in Books Online?" And yep, there it is. Instead of typing the above to invert a bit, all you need is the bitwise NOT operator "~".

~@bit

Forehead, meet palm.

My latest challenge is to learn everything there is about Sitefinity. When I first came to Falafel, one of my first assignments was to update some of Falafel's DNN modules, one of which was QuoteMax. This was a simple module that would manage a list of quotes and would pick one for display upon each page load. Of course, you might have a hard time saying any DNN module development was simple. In any case, this simple control would be my first try at custom Sitefinity development.

Taking a look at Sitefinity, I found that it had a list module ...

I am very proud to announce that our CTO, John Waters was nominated for the Kerzner International Project Manager of the year Award.

The purpose of the Kerzner International Project Manager of the Year™ Award is to recognize a project manager who has exemplified superior performance and outstanding project management methods, skills, and techniques, and their important contributions in business, industry, government community or not-for-profit environments. The award, established in 2006 by IIL, is named in honor of Dr. Harold Kerzner, Professor of Systems Management at Baldwin-Wallace College. He is a globally recognized expert on project management, total quality management, ...



Fifty thousand people attended PAX this year.  If you are not familiar with what this is, a couple of guys named Mike Krahulik and Jerry Holkins create a web comic called Penny Arcade, largely considered the most popular gaming comic on the internet and a well trusted game review site.  You may also know them from their yearly charity Child's Play Charity which collects donations of toys and money to provide games and toys for sick children in hospitals around the world.  Five years ago they decided to throw a LAN party for gamers to meet and play games ...