Data Grid Row Command Comparison using Enumerations
I actually was explaining a fresh into development guy how row command events of data elements work within ASP .NET. Once he was able to complete a test page, I came across this check,
protected void grdGlassThickness_RowCommand(object sender, GridViewCommandEventArgs e){
if (e.CommandName.ToString() == “Delete”) { }
}To explain him that there are commands which will always remain as it is throughout the application and in most of the applications; I encouraged him to use enumerations for comparison purposes rather than sticking with string. For other young fellows, this post will explain this very basic concept.Considering the declaration of LinkButton within grid control item template in .ascx control as following, <asp:LinkButton ID="lnkBtnDelete" runat="server" Text="Delete" CssClass="GridColumn"
CommandArgument='<%# Eval("GlassId") %>' CommandName="<%= CommandTypes.Delete.ToString() %>">
</asp:LinkButton>For comparison purposes, An enumeration is declared as following, public enum CommandTypes
{
Delete,
Edit,
Insert
}And the comparison finally takes place as following,
protected void grdCustomers_RowCommand(object sender, GridViewCommandEventArgs e)
{
try
{
if (e.CommandName.ToString() == CommandTypes.Delete.ToString()) {
}
}
}
Sample use of ResXResourceReader to store custom messages
Well that's pretty simple but might help someone out there. A newbie developer friend of mine was looking for a simple mechanism using which he can arrange different types of messages (errors, warnings, information) in resrouce file (helps achieve entries editing without application recompilation) for a simple windows utility. Quickly I created three resource files (much better designs are possible but that was relative to his needs) each having relative key, values pair to store appropriate mesages and created following class (ResourceReader.cs) to help him read the value against given key,
public enum ResrouceType
{
Information
Error,
Warning
}
{
#region | Methods [public] | public static string getValue(string key, ResrouceType resrouceType)
{
try
{
ResXResourceReader resourceReader = new ResXResourceReader(resrouceType.ToString() + ".resx");
foreach (DictionaryEntry d in resourceReader)
{
if (d.Key.ToString() == key)
{
return d.Value.ToString();
}
}
return string.Empty;
}
catch
{
throw;
}
} #endregion }
This is pretty simple and for those out there whom want to provide a rather basic handling of custom messages will serve the purpose using one line of call. An example to read value for key "HostNameRequired" from resrouce file "Information.resx",
MessageBox.Show(ResourceReader.getValue("InfHostNameRequired",ResrouceType.Information));
To use above calss, create three resource files named "Error.resx", "Information.resx" and "Warning.resx" and place them at the executable application path (e.g. Debug/bin during development mode).
About Me
Usman ur Rehman Ahmedis known as a software engineer in Lahore, Pakistan. He is renowned for having an abstract understanding of vast range of technological developments such as programming languages, web development, RIA's and documental writing, and is mainly specialized in developmental analysis.
Tags
- windows phone 7 (15)
- DNN (14)
- Dot Net Nuke (13)
- .NET (5)
- c# (5)
- manifest (4)
- Application (3)
- MySql (3)
- Provider (3)
- Sql (3)
- View all 237 tags »
- Sql Server (3)
- Stored Procedure (3)
- visual sutdio (3)
- API (2)
- Data (2)
- Mango (2)
- Module (2)
- Permission (2)
- PhoneTextBlock (2)
- User Control (2)
- Windows (2)
- config (2)
- console (2)
- developer (2)
- dot net (2)
- emulator (2)
- enumeration (2)
- expression blend (2)
- extension (2)
- loop (2)
- network (2)
- phone 7 (2)
- tools (2)
- transparent (2)
- .ascx (1)
- 3g (1)
- 5.6.2 (1)
- 7.1 (1)
- 7.5 (1)
- AJAX (1)
- Activity (1)
- App.xaml (1)
- AppManifest (1)
- ApplicationIcon (1)
- Arabic (1)
- Background.png (1)
- BuildAction (1)
- Connector (1)
- Control Panel (1)
- Core Version (1)
- Data-tier (1)
- DataBound (1)
- Database (1)
- Dependency (1)
- DeviceNetworkInterface (1)
- Directory (1)
- Dynamic (1)
- EVDO (1)
- Encryption (1)
- File (1)
- FileSystemWatcher (1)
- Filter (1)
- Foreign Key (1)
- Function (1)
- GUID (1)
- GetSiteLog (1)
- Hash (1)
- Host Settings (1)
- IIS6 (1)
- IIS7 (1)
- Integrated Mode (1)
- Internet Explorer (1)
- IsolatedStorage (1)
- Java (1)
- Koder (1)
- Linq (1)
- Lists (1)
- Log (1)
- Marketplace (1)
- Membership (1)
- Microsoft (1)
- NavigationCacheMode (1)
- NavigationContext (1)
- NavigationService (1)
- Notify (1)
- OnClientNodeChecked (1)
- PTCL (1)
- Panaroma (1)
- Password (1)
- Properties (1)
- Query String (1)
- ResXResourceReader (1)
- ResolveHostNameAsync (1)
- Right to Left (1)
- SDK (1)
- SEO (1)
- SendKeys (1)
- SendWait (1)
- SharpPCap (1)
- Stream (1)