Creating an ASP.NET report using Visual Studio 2010

This tutorial walks you through creating an ASP.NET report based on the Northwind sample database. It shows how to add a client report definition file (RDLC), create a dataset for the RDLC, define queries using LINQ to Entities, design the report and add a ReportViewer web control to render the report in a ASP.NET web page. The report will have a chart control. The result can be filtered by two drop downs at the top.. At the end of the walkthrough, you should have a UI like the following. As shown, there is a product list report with an embedded chart. The chart shows the sum of Unit price for a given category. It is possible to filter the results by Category and Supplier. The drop downs auto post back when the selection is changed. This demo uses Visual Studio 2010 RTM.

za pomocą Creating an ASP.NET report using Visual Studio 2010 .

NTCore’s 4GB Patch

I originally wrote this tool for a friend of mine who needed it. This very little tool patches x86 executables in order to let them have 4GB (instead of only 2) of virtual memory on x64 platforms. This tool comes very handy for applications which need a great amount of virtual memory like games, 3D renderization, multimedia etc. To gain these 2GB, you just have to use this tool to patch the executable (*.exe file) of the software you want to have these additional GBs of virtual memory. It can be used by clicking on it and choosing the file or through command line (e.g.: “4gb_patch file.exe”). It automatically creates a backup copy of the original executable.

Why things are this way on x64 is easy to explain. On x86 applications have 2GB of virtual memory out of 4GB (the other 2GB are reserved for the system). On x64 these two other GB can now be accessed by 32bit applications. In order to achieve this, a flag has to be set in the file’s internal format. This is, of course, very easy for insiders who do it every day with the CFF Explorer. This tool was written because not everybody is an insider, and most probably a lot of people don’t even know that this can be achieved. Even I wouldn’t have written this tool if someone didn’t explicitly ask me to.

za pomocą NTCore’s Homepage.

Chris Sainty: Windows Phone 7–Asynchronous Programming

One thing that will strike you quickly if you go to make an app that communicates over the internet is that everything has to be done asynchronously. While this is bound to annoy at first, it is actually a good design decision by the development team because it forces the developer to keep the UI responsive. Sadly there is at least one instance where they broke their own rules but we will get to that another time, I will just say watch out for the Image control.

My preferred way of handling asynchronous programing is with a callback structure that uses delegates/lambdas. You could also use events but I find most of the memory leaks I create in applications are to do with events and not releasing subscriptions. Luckily for us we now have lambdas that make callbacks a piece of cake to write, you just need to watch out for a few gotchas. If you prefer delegates to lambdas, then the second point here will not apply to you, but the first will still catch the very novice.


Pod linkiem, asynchroniczne czytanie twitter’a poprzez json

za pomocą Chris Sainty: Windows Phone 7–Asynchronous Programming.

String Format for DateTime [C#]

This example shows how to format DateTime using String.Format method. All formatting can be done also using DateTime.ToString method.

Custom DateTime Formatting

There are following custom format specifiers y (year),M (month), d (day), h (hour 12),H (hour 24), m (minute), s (second),f (second fraction), F (second fraction, trailing zeroes are trimmed), t (P.M or A.M) and z(time zone).

Following examples demonstrate how are the format specifiers rewritten to the output.


// create date time 2008-03-09 16:05:07.123
DateTime dt = new DateTime(2008, 3, 9, 16, 5, 7, 123);

String.Format(“{0:y yy yyy yyyy}”, dt);  // “8 08 008 2008”   year
String.Format(“{0:M MM MMM MMMM}”, dt);  // “3 03 Mar March”  month
String.Format(“{0:d dd ddd dddd}”, dt);  // “9 09 Sun Sunday” day
String.Format(“{0:h hh H HH}”,     dt);  // “4 04 16 16”      hour 12/24
String.Format(“{0:m mm}”,          dt);  // “5 05”            minute
String.Format(“{0:s ss}”,          dt);  // “7 07”            second
String.Format(“{0:f ff fff ffff}”, dt);  // “1 12 123 1230”   sec.fraction
String.Format(“{0:F FF FFF FFFF}”, dt);  // “1 12 123 123”    without zeroes
String.Format(“{0:t tt}”,          dt);  // “P PM”            A.M. or P.M.
String.Format(“{0:z zz zzz}”,      dt);  // “-6 -06 -06:00”   time zone


You can use also date separator / (slash) and time sepatator : (colon). These characters will be rewritten to characters defined in the current DateTimeForma­tInfo.DateSepa­rator and DateTimeForma­tInfo.TimeSepa­rator.


// date separator in german culture is “.” (so “/” changes to “.”)
String.Format(“{0:d/M/yyyy HH:mm:ss}”, dt); // “9/3/2008 16:05:07” – english (en-US)
String.Format(“{0:d/M/yyyy HH:mm:ss}”, dt); // “9.3.2008 16:05:07” – german (de-DE)



Here are some examples of custom date and time formatting:



// month/day numbers without/with leading zeroes
String.Format(“{0:M/d/yyyy}”, dt);            // “3/9/2008”
String.Format(“{0:MM/dd/yyyy}”, dt);          // “03/09/2008”

// day/month names
String.Format(“{0:ddd, MMM d, yyyy}”, dt);    // “Sun, Mar 9, 2008”
String.Format(“{0:dddd, MMMM d, yyyy}”, dt);  // “Sunday, March 9, 2008”

// two/four digit year
String.Format(“{0:MM/dd/yy}”, dt);            // “03/09/08”
String.Format(“{0:MM/dd/yyyy}”, dt);          // “03/09/2008”



Standard DateTime Formatting


In DateTimeForma­tInfo there are defined standard patterns for the current culture. For example property ShortTimePatternis string that contains value h:mm tt for en-US culture and value HH:mm for de-DE culture.

Following table shows patterns defined in DateTimeForma­tInfo and their values for en-US culture. First column contains format specifiers for the String.Format method.


Specifier DateTimeFormatInfo property Pattern value (for en-US culture)
t ShortTimePattern h:mm tt
d ShortDatePattern M/d/yyyy
T LongTimePattern h:mm:ss tt
D LongDatePattern dddd, MMMM dd, yyyy
f (combination of D and t) dddd, MMMM dd, yyyy h:mm tt
F FullDateTimePattern dddd, MMMM dd, yyyy h:mm:ss tt
g (combination of d and t) M/d/yyyy h:mm tt
G (combination of d and T) M/d/yyyy h:mm:ss tt
m, M MonthDayPattern MMMM dd
y, Y YearMonthPattern MMMM, yyyy
r, R RFC1123Pattern ddd, dd MMM yyyy HH':'mm':'ss 'GMT' (*)
s SortableDateTi­mePattern yyyy'-'MM'-'dd'T'HH':'mm':'ss (*)
u UniversalSorta­bleDateTimePat­tern yyyy'-'MM'-'dd HH':'mm':'ss'Z' (*)
(*) = culture independent

Following examples show usage of standard format specifiersin String.Format method and the resulting output.



// create date time 2008-03-09 16:05:07.123

DateTime dt = new DateTime(2008, 3, 9, 16, 5, 7, 123);

String.Format(“{0:y yy yyy yyyy}”, dt); // “8 08 008 2008” year

String.Format(“{0:M MM MMM MMMM}”, dt); // “3 03 Mar March” month

String.Format(“{0:d dd ddd dddd}”, dt); // “9 09 Sun Sunday” day

String.Format(“{0:h hh H HH}”, dt); // “4 04 16 16” hour 12/24

String.Format(“{0:m mm}”, dt); // “5 05” minute

String.Format(“{0:s ss}”, dt); // “7 07” second

String.Format(“{0:f ff fff ffff}”, dt); // “1 12 123 1230” sec.fraction

String.Format(“{0:F FF FFF FFFF}”, dt); // “1 12 123 123” %
za pomocą String Format for DateTime C#.