Showing posts with label custom. Show all posts
Showing posts with label custom. Show all posts

Thursday, March 22, 2012

Create a custom webpage to edit/update a table in a SQL database.

Hi everyone, this is is my first post, so please replyStick out tongue and help.

I'm working on a project right now that uses asp 2.0 and SQL server 2005 express edition. This is a general idea of the project. In our company some of us receive ECO notifications (engineering change orders) for our products and we need to implement these to the test scripts that are on the production floor. So the project is about entering the new ECO into a database which will send an automatic notification to our test team. When they receive the notification they will have to sign in to the website and introduce their login and password to sign off the ECO (Following some checkpoints already defined by me, for example, Area ready, Test script modification necessary, new firmware introduction, comments, etc...) but I also need to record WHO and WHEN sign that ECO. We have 3 different test areas in our factory: Electrical, Functional and Systems, so all THREE areas must be signed off in order to the ECO go to a IMPLEMENTED state (at this point i need to send a new email saying that the eco has been implemented in all three areas).

So far I've completed the following things:

-users validation (logins, areas)

-New custom entry form for the ECOs and automatic email notification (part of what I did is described below).

Dim ECODataSourceAsNew SqlDataSource()ECODataSource.ConnectionString = ConfigurationManager.ConnectionStrings("ECO_ICSConnectionString1").ToString()

ECODataSource.InsertCommandType = SqlDataSourceCommandType.StoredProcedure

ECODataSource.InsertCommand ="EcoNew"

ECODataSource.InsertParameters.Add("EcoNumber", EcoNumberTextBox.Text)

ECODataSource.InsertParameters.Add("EcoDescription", EcoDescriptionTextBox.Text)

ECODataSource.InsertParameters.Add("EcoMandatory", EcoMandatoryDropDownList.Text)

-Depending on which test area is the the engineering from, I can filter the ECOs and just shows the ones that their test area is pending. (using GridView)

But I'm stuck right now when the engineers have to sign the ECO for their test areas. I was able to use the Gridview and DetailsView to EDIT most of the things that I need. But there are somethings that I don't like:

1. When using the EDIT option on Gridview or Detailsview, all fields can be edited including ECO number, description and mandatory, which I don't want them to change. If I set those columns to read only, when editing that row again. It gives me an error that says that the ECOnumber can't be NULL, but if I remove these 3 columns the Engineer will not know which ECO they have sign. They are only going to be able to see the EcoId, which doesn't say much.

2. Also I saw that I wasn't able to do is to enter the USER login and CURRENT system date and time automatically. I don't want them to manually enter the date and their login manually.

3. Finally, when the last area signs the ECO, I want to update that record and set a flag that tells me that the ECO has been completed.

So what I really want is to create some sort of form (textboxes, labels, checkboxes, etc.) that will UPDATE the selected ECO from the gridview for instance. So when I select the row from the GridView, It will show the data (Econumber, description and mandatory as READ ONLY) and use the rest of the things as INPUT for the engineer to complete. At the end an "update button" and when I click it, It will enter/update the data on that specific row, but including the time and user login as well.

Also to check if the other 2 areas have signed and if so, change the ECOReadiness flag to 1 and send the email.

Is there a code like the one I used above to do this ? Or if you think there a better way to do this, I'll be very glad to hear it.

I'm new using sql and asp, so If i'm asking some dumb questions please forgive me.Smile.

Here's my table definition for your reference:

EcoId - primary key.

EcoNumber

EcoDescription

EcoMandatory

EcoReadiness <- Flag for the entire ECO, when ALL 3 areas have signed, this will be 1.

ATE < - Flag for Electrical area.

ATEscripts < - Just a Yes/no input.

ATEengineer <- user login

ATEdatetimestamp <- Date.Now()

FAT < - Flag for functional.

FATscripts

FATengineer

FATdatetimestamp

SYSTEMS < - Flag for systems.

SYSTEMSscripts

SYSTEMSengineer

SYSTEMSdatetimestamp

THANKS IN ADVANCE,

Regards,

Jesus

dearjaguerrero, ur query#01 have been confusing me.. if possible send ur page.aspx and page.aspx.cs(code file) file...

Query#2:

USER LOGIN

if r u using ASP.NET built-in authentication feature than

In the Page_Load event handler, add the following line of code:

string  UserIdValue ;
UserIdValue = Membership.GetUser().ProviderUserKey.ToString()


CURRENT system date and time

at database set ATEdatetimestamp 's default value - getdate()

Query#3:

//after updating each area signing - write these code :
string strSQL = "";
string strCon = ConfigurationManager.ConnectionStrings["ConnectionStringNAME"].ConnectionString; //"Data Source=.;Initial Catalog=NorthWind;User ID=sa";
SqlConnection con = new SqlConnection(strCon);
con.Open();
strSQL = "Select ATE, FAT, SYSTEMS From tableName Where EcoNumber = 'E001'"; //insert all selecting conditions
SqlDataAdapter sda = new SqlDataAdapter(strSQL, con);
DataTable dt = new DataTable();
sda.Fill(dt);
//i guess ur ATE, FAT, SYSTEMS and EcoReadiness - fields are bit field
if (dt.Rows[0]["ATE"].ToString() == "True" && dt.Rows[0]["FAT"].ToString() == "True" && dt.Rows[0]["SYSTEMS"].ToString() == "True")
//if all three flags are true then final flag is set to true.. so EcoReadiness flag tells u that the ECO has been completed
{
strSQL = "Update tableName Set EcoReadiness = 1 Where EcoNumber = 'E001'"; //
SqlCommand cmdUpdate = new SqlCommand(strSQL, con);
cmdUpdate.ExecuteNonQuery();
cmdUpdate.Dispose();
}

con.Close();
con.Dispose();

|||

Hello Patuary! Thank you for your reply !...

I've checked your ideas.. but is your code c# ?.. because I've got a lot of errors.. I forgot to tell that I was using Visual Basic... I tried to change some of the parts but I keep getting errors when running the app... There are a couple of questions I have regarding your code...

For the user login.. I changed a little bit your code..

Create a custom login.

Hi all,

I need an user to do the following tasks. What kind of login I could provide him and how do I give him rights to do them without providing hin the SA (sysadmin role) ?

Create Login
Create Database
Create Tables ( with Pks, Fks & Indexes)
Create Stored procedures
Create Functions ( table valued / scalar valued)
Insert Master data
Create Jobs
Execute Job for first time
Populate sample


Thanks in advance,

DBAnalyst

Refer to books online about database fixed roles for the steps you have asked such as:

1) db_accessadmin

2,3,4,5,6 & 7) db_owner

create a Custom Delivery Protocol class and Auto-Refresh for SQL Grids displaying SQL Server Dat

How create a custom delivery Protocol class and show data in the Grid?

any advice and is good at having sample code?

I don't have it in front of me at the moment, but I almost positive that Shyam Pather's book show how to create a custom delivery protocol. (Even if it doesn't you'll want to get the book nonetheless; it's a great resource!)

HTH..

Joe

sql

create a Custom Delivery Protocol class and Auto-Refresh for SQL Grids displaying SQL Server Dat

How create a custom delivery Protocol class and show data in the Grid?

any advice and is good at having sample code?

I don't have it in front of me at the moment, but I almost positive that Shyam Pather's book show how to create a custom delivery protocol. (Even if it doesn't you'll want to get the book nonetheless; it's a great resource!)

HTH..

Joe

Sunday, February 19, 2012

CountrySelector control

Hello all

I am developing a CountrySelector control (which I would like to share
with anyone), but I am quite a newby in this custom control area.

You can find it at:
http://home.kabelfoon.nl/~juliusd/v...ntrySelector.vb

Some questions I have are:
- In what event should the items be added. In this case (PreRender)
items added on every render (duh) and get duplicated when ViewState is
enabled. Best would be if the items show up in the designer already
but only in designmode and not with <ListItem> in the HTML source.
- How can I override ViewState get/set methods to only save the
current selection and not the whole collection? It will also need to
save whether it is the first render (for the use of the DefaultCountry
property)
- What behaviour to expect when an invalid countrycode is selected by
consuming (.net) code (e.g. in the DefaultCountry property)?
- Is it possible to use System.Globalization to populate the
collection with country(code)'s?

Thank you in advance.

Hope to hear from you

Freek Versteijn

Here is the concept code:

Imports System.ComponentModel
Imports System.Web.UI
Imports System.Web.UI.WebControls

<ToolboxData("<{0}:CountrySelector
runat=server></{0}:CountrySelector>")> Public Class CountrySelector
Inherits System.Web.UI.WebControls.DropDownList
Protected _DefaultCountry As String

<Description("The initial country's code")> _
Public Property DefaultCountry() As String
Get
Return _DefaultCountry
End Get
Set(ByVal Value As String)
_DefaultCountry = ("" & Value).ToUpper()
End Set
End Property

'TODO:
' [ ] Move adding of items to other method?
' [ ] Show DefaultCountry at first render
' [ ] ViewState to only save the selected item
' [ ] Use System.Globalization (RegionInfo.DisplayName or
..EnglishName depending on CurrentCulture) for populating the Items
collection if possible

Protected Overrides Sub OnPreRender(ByVal e As EventArgs)
Items.Add(New ListItem("Albania", "AL"))
Items.Add(New ListItem("Algeria", "DZ"))
Items.Add(New ListItem("American Samoa", "AS"))
Items.Add(New ListItem("Andorra", "AD"))
Items.Add(New ListItem("Angola", "AO"))
Items.Add(New ListItem("Anguilla", "AI"))
Items.Add(New ListItem("Antarctica", "AQ"))
Items.Add(New ListItem("Antigua/Barbuda", "AG"))
Items.Add(New ListItem("Argentina", "AR"))
Items.Add(New ListItem("Armenia", "AM"))
Items.Add(New ListItem("Aruba", "AW"))
Items.Add(New ListItem("Australia", "AU"))
Items.Add(New ListItem("Austria", "AT"))
Items.Add(New ListItem("Azerbaijan", "AZ"))
Items.Add(New ListItem("Bahamas", "BS"))
Items.Add(New ListItem("Bahrain", "BH"))
Items.Add(New ListItem("Bangladesh", "BD"))
Items.Add(New ListItem("Barbados", "BB"))
Items.Add(New ListItem("Belarus", "BY"))
Items.Add(New ListItem("Belgium", "BE"))
Items.Add(New ListItem("Belize", "BZ"))
Items.Add(New ListItem("Benin", "BJ"))
Items.Add(New ListItem("Bermuda", "BM"))
Items.Add(New ListItem("Bhutan", "BT"))
Items.Add(New ListItem("Bolivia", "BO"))
Items.Add(New ListItem("Bosnia", "BA"))
Items.Add(New ListItem("Botswana", "BW"))
Items.Add(New ListItem("Bouvet Island", "BV"))
Items.Add(New ListItem("Brazil", "BR"))
Items.Add(New ListItem("British Indian Ocean Territory",
"IO"))
Items.Add(New ListItem("British West Indies", "WI"))
Items.Add(New ListItem("Brunei Darussalam", "BN"))
Items.Add(New ListItem("Bulgaria", "BG"))
Items.Add(New ListItem("Burkina Faso", "BF"))
Items.Add(New ListItem("Burma", "BU"))
Items.Add(New ListItem("Burundi", "BI"))
Items.Add(New ListItem("Cambodia", "KH"))
Items.Add(New ListItem("Cameroon", "CM"))
Items.Add(New ListItem("Canada", "CA"))
Items.Add(New ListItem("Cape Verde", "CV"))
Items.Add(New ListItem("Cayman Islands", "KY"))
Items.Add(New ListItem("Central Africa", "CF"))
Items.Add(New ListItem("Chad", "TD"))
Items.Add(New ListItem("Chile", "CL"))
Items.Add(New ListItem("China", "CN"))
Items.Add(New ListItem("Christmas Island", "CX"))
Items.Add(New ListItem("Cocos (Keeling) Islands", "CC"))
Items.Add(New ListItem("Colombia", "CO"))
Items.Add(New ListItem("Comoros", "KM"))
Items.Add(New ListItem("Congo", "CG"))
Items.Add(New ListItem("Cook Islands", "CK"))
Items.Add(New ListItem("Costa Rica", "CR"))
Items.Add(New ListItem("Cote D'Ivoire", "CI"))
Items.Add(New ListItem("Croatia", "HR"))
Items.Add(New ListItem("Cuba", "CU"))
Items.Add(New ListItem("Cyprus", "CY"))
Items.Add(New ListItem("Czech Republic", "CZ"))
Items.Add(New ListItem("Denmark", "DK"))
Items.Add(New ListItem("Djibouti", "DJ"))
Items.Add(New ListItem("Dominica", "DM"))
Items.Add(New ListItem("Dominican Republic", "DO"))
Items.Add(New ListItem("East Timor", "TP"))
Items.Add(New ListItem("Ecuador", "EC"))
Items.Add(New ListItem("Egypt", "EG"))
Items.Add(New ListItem("El Salvador", "SV"))
Items.Add(New ListItem("Equatorial Guinea", "GQ"))
Items.Add(New ListItem("Eritrea", "ER"))
Items.Add(New ListItem("Estonia", "EE"))
Items.Add(New ListItem("Ethiopia", "ET"))
Items.Add(New ListItem("Faeroe Islands", "FO"))
Items.Add(New ListItem("Falkland Islands", "FK"))
Items.Add(New ListItem("Fiji", "FJ"))
Items.Add(New ListItem("Finland", "FI"))
Items.Add(New ListItem("France", "FR"))
Items.Add(New ListItem("French Polynesia", "PF"))
Items.Add(New ListItem("French Southern Territories", "TF"))
Items.Add(New ListItem("Gabon", "GA"))
Items.Add(New ListItem("Gambia", "GM"))
Items.Add(New ListItem("Gaza", "XA"))
Items.Add(New ListItem("Georgia", "GE"))
Items.Add(New ListItem("Germany", "DE"))
Items.Add(New ListItem("Ghana", "GH"))
Items.Add(New ListItem("Gibraltar", "GI"))
Items.Add(New ListItem("Greece", "GR"))
Items.Add(New ListItem("Greenland", "GL"))
Items.Add(New ListItem("Grenada", "GD"))
Items.Add(New ListItem("Guadeloupe", "GP"))
Items.Add(New ListItem("Guam", "GU"))
Items.Add(New ListItem("Guatemala", "GT"))
Items.Add(New ListItem("Guiana", "GF"))
Items.Add(New ListItem("Guinea", "GN"))
Items.Add(New ListItem("Guinea-Bissau", "GW"))
Items.Add(New ListItem("Guyana", "GY"))
Items.Add(New ListItem("Haiti", "HT"))
Items.Add(New ListItem("Heard And Mcdonald Islands", "HM"))
Items.Add(New ListItem("Held Territories", "XH"))
Items.Add(New ListItem("Honduras", "HN"))
Items.Add(New ListItem("Hong Kong", "HK"))
Items.Add(New ListItem("Hungary", "HU"))
Items.Add(New ListItem("Iceland", "IS"))
Items.Add(New ListItem("India", "IN"))
Items.Add(New ListItem("Indian Ocean Islands", "XI"))
Items.Add(New ListItem("Indonesia", "ID"))
Items.Add(New ListItem("Iran", "IN"))
Items.Add(New ListItem("Iraq", "IQ"))
Items.Add(New ListItem("Ireland", "IE"))
Items.Add(New ListItem("Israel", "IL"))
Items.Add(New ListItem("Italy", "IT"))
Items.Add(New ListItem("Jamaica", "JM"))
Items.Add(New ListItem("Japan", "JP"))
Items.Add(New ListItem("Jordan", "JO"))
Items.Add(New ListItem("Kazakhstan", "KZ"))
Items.Add(New ListItem("Kenya", "KE"))
Items.Add(New ListItem("Kiribati", "KI"))
Items.Add(New ListItem("Korea", "KR"))
Items.Add(New ListItem("Kuwait", "KW"))
Items.Add(New ListItem("Kyrgyzstan", "KG"))
Items.Add(New ListItem("Laos", "LA"))
Items.Add(New ListItem("Latvia", "LV"))
Items.Add(New ListItem("Lebanon", "LB"))
Items.Add(New ListItem("Lesotho", "LS"))
Items.Add(New ListItem("Liberia", "LR"))
Items.Add(New ListItem("Libya", "LY"))
Items.Add(New ListItem("Liechtenstein", "LI"))
Items.Add(New ListItem("Lithuania", "LT"))
Items.Add(New ListItem("Luxembourg", "LU"))
Items.Add(New ListItem("Macau", "MO"))
Items.Add(New ListItem("Macedonia", "MK"))
Items.Add(New ListItem("Madagascar", "MG"))
Items.Add(New ListItem("Malawi", "MW"))
Items.Add(New ListItem("Malaysia", "MY"))
Items.Add(New ListItem("Maldives", "MV"))
Items.Add(New ListItem("Mali", "ML"))
Items.Add(New ListItem("Malta", "MT"))
Items.Add(New ListItem("Marshall Islands", "MH"))
Items.Add(New ListItem("Martinique", "MQ"))
Items.Add(New ListItem("Mauritania", "MR"))
Items.Add(New ListItem("Mauritius", "MU"))
Items.Add(New ListItem("Mayotte", "YT"))
Items.Add(New ListItem("Mexico", "MX"))
Items.Add(New ListItem("Micronesia", "FM"))
Items.Add(New ListItem("Moldova", "MD"))
Items.Add(New ListItem("Monaco", "MC"))
Items.Add(New ListItem("Mongolia", "MN"))
Items.Add(New ListItem("Montserrat", "MS"))
Items.Add(New ListItem("Morocco", "MA"))
Items.Add(New ListItem("Mozambique", "MZ"))
Items.Add(New ListItem("Myanmar", "MM"))
Items.Add(New ListItem("Namibia", "NA"))
Items.Add(New ListItem("Nauru", "NR"))
Items.Add(New ListItem("Nepal", "NP"))
Items.Add(New ListItem("Netherlands", "NL"))
Items.Add(New ListItem("Netherlands Antilles", "AN"))
Items.Add(New ListItem("New Caledonia", "NC"))
Items.Add(New ListItem("New Zealand", "NZ"))
Items.Add(New ListItem("Nicaragua", "NI"))
Items.Add(New ListItem("Niger", "NE"))
Items.Add(New ListItem("Nigeria", "NG"))
Items.Add(New ListItem("Niue", "NU"))
Items.Add(New ListItem("Norfolk Island", "NF"))
Items.Add(New ListItem("North Korea", "KP"))
Items.Add(New ListItem("Northern Ireland", "XB"))
Items.Add(New ListItem("Northern Mariana Islands", "MP"))
Items.Add(New ListItem("Norway", "NO"))
Items.Add(New ListItem("Oman", "OM"))
Items.Add(New ListItem("Pakistan", "PK"))
Items.Add(New ListItem("Palau", "PW"))
Items.Add(New ListItem("Panama", "PA"))
Items.Add(New ListItem("Papua New Guinea", "PG"))
Items.Add(New ListItem("Paraguay", "PY"))
Items.Add(New ListItem("Peru", "PE"))
Items.Add(New ListItem("Philippines", "PH"))
Items.Add(New ListItem("Pitcairn", "PN"))
Items.Add(New ListItem("Poland", "PL"))
Items.Add(New ListItem("Portugal", "PT"))
Items.Add(New ListItem("Puerto Rico", "PR"))
Items.Add(New ListItem("Qatar", "QA"))
Items.Add(New ListItem("Reunion", "RE"))
Items.Add(New ListItem("Romania", "RO"))
Items.Add(New ListItem("Russia", "RU"))
Items.Add(New ListItem("Rwanda", "RW"))
Items.Add(New ListItem("Saint Lucia", "LC"))
Items.Add(New ListItem("San Marino", "SM"))
Items.Add(New ListItem("Sao Tome And Principe", "ST"))
Items.Add(New ListItem("Saudi Arabia", "SA"))
Items.Add(New ListItem("Scotland", "WY"))
Items.Add(New ListItem("Senegal", "SN"))
Items.Add(New ListItem("Seychelles", "SC"))
Items.Add(New ListItem("Sierra Leone", "SL"))
Items.Add(New ListItem("Singapore", "SG"))
Items.Add(New ListItem("Slovak Republic", "SK"))
Items.Add(New ListItem("Slovenia", "SI"))
Items.Add(New ListItem("Solomon Islands", "SB"))
Items.Add(New ListItem("Somalia", "SO"))
Items.Add(New ListItem("South Africa", "ZA"))
Items.Add(New ListItem("South Georgia", "GS"))
Items.Add(New ListItem("Spain", "ES"))
Items.Add(New ListItem("Sri Lanka", "LK"))
Items.Add(New ListItem("St. Helena", "SH"))
Items.Add(New ListItem("St. Kitts & Nevis", "KN"))
Items.Add(New ListItem("St. Pierre", "PM"))
Items.Add(New ListItem("St. Vincent & The Grenadines", "VC"))
Items.Add(New ListItem("Sudan", "SD"))
Items.Add(New ListItem("Suriname", "SR"))
Items.Add(New ListItem("Svalbard And Jan Mayen Islands",
"SJ"))
Items.Add(New ListItem("Swaziland", "SZ"))
Items.Add(New ListItem("Sweden", "SE"))
Items.Add(New ListItem("Switzerland", "CH"))
Items.Add(New ListItem("Syria", "SY"))
Items.Add(New ListItem("Taiwan", "TW"))
Items.Add(New ListItem("Tajikistan", "TJ"))
Items.Add(New ListItem("Tanzania", "TZ"))
Items.Add(New ListItem("Thailand", "TH"))
Items.Add(New ListItem("Togo", "TG"))
Items.Add(New ListItem("Tokelau", "TK"))
Items.Add(New ListItem("Tonga", "TO"))
Items.Add(New ListItem("Trinidad And Tobago", "TT"))
Items.Add(New ListItem("Tunisia", "TN"))
Items.Add(New ListItem("Turkey", "TR"))
Items.Add(New ListItem("Turkmenistan", "TM"))
Items.Add(New ListItem("Turks And Caicos Islands", "TC"))
Items.Add(New ListItem("Tuvalu", "TV"))
Items.Add(New ListItem("U.S. Minor Outlying Islands", "UM"))
Items.Add(New ListItem("U.S.A.", "US"))
Items.Add(New ListItem("Uganda", "UG"))
Items.Add(New ListItem("Ukraine", "UA"))
Items.Add(New ListItem("United Arab Emirates", "AE"))
Items.Add(New ListItem("United Kingdom", "GB"))
Items.Add(New ListItem("Uruguay", "UY"))
Items.Add(New ListItem("Uzbekistan", "UZ"))
Items.Add(New ListItem("Vanuatu", "VU"))
Items.Add(New ListItem("Vatican City State", "VA"))
Items.Add(New ListItem("Venezuela", "VE"))
Items.Add(New ListItem("Viet Nam", "VN"))
Items.Add(New ListItem("Virgin Islands (British)", "VG"))
Items.Add(New ListItem("Virgin Islands (U.S.)", "VI"))
Items.Add(New ListItem("Wales", "WX"))
Items.Add(New ListItem("Wallis And Futuna Islands", "WF"))
Items.Add(New ListItem("Western Sahara", "EH"))
Items.Add(New ListItem("Western Samoa", "WS"))
Items.Add(New ListItem("Yemen", "YE"))
Items.Add(New ListItem("Yugoslavia", "YU"))
Items.Add(New ListItem("Zambia", "ZM"))
Items.Add(New ListItem("Zimbabwe", "ZW"))
MyBase.OnPreRender(e)
End Sub

Protected Overrides Function SaveViewState() As Object

End Function

Protected Overrides Sub LoadViewState(ByVal savedState As Object)

End Sub
End ClassThis question is better answered in .dotnet.framework.aspnet.

Anyway, take a look at this caching article. It should prove useful.

--
-oj
http://www.rac4sql.net

"Versteijn" <versteijn@.538mail.nl> wrote in message
news:4d19834f.0402290936.79156a16@.posting.google.c om...
> Hello all
> I am developing a CountrySelector control (which I would like to share
> with anyone), but I am quite a newby in this custom control area.
> You can find it at:
> http://home.kabelfoon.nl/~juliusd/v...ntrySelector.vb
> Some questions I have are:
> - In what event should the items be added. In this case (PreRender)
> items added on every render (duh) and get duplicated when ViewState is
> enabled. Best would be if the items show up in the designer already
> but only in designmode and not with <ListItem> in the HTML source.
> - How can I override ViewState get/set methods to only save the
> current selection and not the whole collection? It will also need to
> save whether it is the first render (for the use of the DefaultCountry
> property)
> - What behaviour to expect when an invalid countrycode is selected by
> consuming (.net) code (e.g. in the DefaultCountry property)?
> - Is it possible to use System.Globalization to populate the
> collection with country(code)'s?
> Thank you in advance.
> Hope to hear from you
> Freek Versteijn
>
> Here is the concept code:
>
> Imports System.ComponentModel
> Imports System.Web.UI
> Imports System.Web.UI.WebControls
> <ToolboxData("<{0}:CountrySelector
> runat=server></{0}:CountrySelector>")> Public Class CountrySelector
> Inherits System.Web.UI.WebControls.DropDownList
> Protected _DefaultCountry As String
> <Description("The initial country's code")> _
> Public Property DefaultCountry() As String
> Get
> Return _DefaultCountry
> End Get
> Set(ByVal Value As String)
> _DefaultCountry = ("" & Value).ToUpper()
> End Set
> End Property
> 'TODO:
> ' [ ] Move adding of items to other method?
> ' [ ] Show DefaultCountry at first render
> ' [ ] ViewState to only save the selected item
> ' [ ] Use System.Globalization (RegionInfo.DisplayName or
> .EnglishName depending on CurrentCulture) for populating the Items
> collection if possible
> Protected Overrides Sub OnPreRender(ByVal e As EventArgs)
> Items.Add(New ListItem("Albania", "AL"))
> Items.Add(New ListItem("Algeria", "DZ"))
> Items.Add(New ListItem("American Samoa", "AS"))
> Items.Add(New ListItem("Andorra", "AD"))
> Items.Add(New ListItem("Angola", "AO"))
> Items.Add(New ListItem("Anguilla", "AI"))
> Items.Add(New ListItem("Antarctica", "AQ"))
> Items.Add(New ListItem("Antigua/Barbuda", "AG"))
> Items.Add(New ListItem("Argentina", "AR"))
> Items.Add(New ListItem("Armenia", "AM"))
> Items.Add(New ListItem("Aruba", "AW"))
> Items.Add(New ListItem("Australia", "AU"))
> Items.Add(New ListItem("Austria", "AT"))
> Items.Add(New ListItem("Azerbaijan", "AZ"))
> Items.Add(New ListItem("Bahamas", "BS"))
> Items.Add(New ListItem("Bahrain", "BH"))
> Items.Add(New ListItem("Bangladesh", "BD"))
> Items.Add(New ListItem("Barbados", "BB"))
> Items.Add(New ListItem("Belarus", "BY"))
> Items.Add(New ListItem("Belgium", "BE"))
> Items.Add(New ListItem("Belize", "BZ"))
> Items.Add(New ListItem("Benin", "BJ"))
> Items.Add(New ListItem("Bermuda", "BM"))
> Items.Add(New ListItem("Bhutan", "BT"))
> Items.Add(New ListItem("Bolivia", "BO"))
> Items.Add(New ListItem("Bosnia", "BA"))
> Items.Add(New ListItem("Botswana", "BW"))
> Items.Add(New ListItem("Bouvet Island", "BV"))
> Items.Add(New ListItem("Brazil", "BR"))
> Items.Add(New ListItem("British Indian Ocean Territory",
> "IO"))
> Items.Add(New ListItem("British West Indies", "WI"))
> Items.Add(New ListItem("Brunei Darussalam", "BN"))
> Items.Add(New ListItem("Bulgaria", "BG"))
> Items.Add(New ListItem("Burkina Faso", "BF"))
> Items.Add(New ListItem("Burma", "BU"))
> Items.Add(New ListItem("Burundi", "BI"))
> Items.Add(New ListItem("Cambodia", "KH"))
> Items.Add(New ListItem("Cameroon", "CM"))
> Items.Add(New ListItem("Canada", "CA"))
> Items.Add(New ListItem("Cape Verde", "CV"))
> Items.Add(New ListItem("Cayman Islands", "KY"))
> Items.Add(New ListItem("Central Africa", "CF"))
> Items.Add(New ListItem("Chad", "TD"))
> Items.Add(New ListItem("Chile", "CL"))
> Items.Add(New ListItem("China", "CN"))
> Items.Add(New ListItem("Christmas Island", "CX"))
> Items.Add(New ListItem("Cocos (Keeling) Islands", "CC"))
> Items.Add(New ListItem("Colombia", "CO"))
> Items.Add(New ListItem("Comoros", "KM"))
> Items.Add(New ListItem("Congo", "CG"))
> Items.Add(New ListItem("Cook Islands", "CK"))
> Items.Add(New ListItem("Costa Rica", "CR"))
> Items.Add(New ListItem("Cote D'Ivoire", "CI"))
> Items.Add(New ListItem("Croatia", "HR"))
> Items.Add(New ListItem("Cuba", "CU"))
> Items.Add(New ListItem("Cyprus", "CY"))
> Items.Add(New ListItem("Czech Republic", "CZ"))
> Items.Add(New ListItem("Denmark", "DK"))
> Items.Add(New ListItem("Djibouti", "DJ"))
> Items.Add(New ListItem("Dominica", "DM"))
> Items.Add(New ListItem("Dominican Republic", "DO"))
> Items.Add(New ListItem("East Timor", "TP"))
> Items.Add(New ListItem("Ecuador", "EC"))
> Items.Add(New ListItem("Egypt", "EG"))
> Items.Add(New ListItem("El Salvador", "SV"))
> Items.Add(New ListItem("Equatorial Guinea", "GQ"))
> Items.Add(New ListItem("Eritrea", "ER"))
> Items.Add(New ListItem("Estonia", "EE"))
> Items.Add(New ListItem("Ethiopia", "ET"))
> Items.Add(New ListItem("Faeroe Islands", "FO"))
> Items.Add(New ListItem("Falkland Islands", "FK"))
> Items.Add(New ListItem("Fiji", "FJ"))
> Items.Add(New ListItem("Finland", "FI"))
> Items.Add(New ListItem("France", "FR"))
> Items.Add(New ListItem("French Polynesia", "PF"))
> Items.Add(New ListItem("French Southern Territories", "TF"))
> Items.Add(New ListItem("Gabon", "GA"))
> Items.Add(New ListItem("Gambia", "GM"))
> Items.Add(New ListItem("Gaza", "XA"))
> Items.Add(New ListItem("Georgia", "GE"))
> Items.Add(New ListItem("Germany", "DE"))
> Items.Add(New ListItem("Ghana", "GH"))
> Items.Add(New ListItem("Gibraltar", "GI"))
> Items.Add(New ListItem("Greece", "GR"))
> Items.Add(New ListItem("Greenland", "GL"))
> Items.Add(New ListItem("Grenada", "GD"))
> Items.Add(New ListItem("Guadeloupe", "GP"))
> Items.Add(New ListItem("Guam", "GU"))
> Items.Add(New ListItem("Guatemala", "GT"))
> Items.Add(New ListItem("Guiana", "GF"))
> Items.Add(New ListItem("Guinea", "GN"))
> Items.Add(New ListItem("Guinea-Bissau", "GW"))
> Items.Add(New ListItem("Guyana", "GY"))
> Items.Add(New ListItem("Haiti", "HT"))
> Items.Add(New ListItem("Heard And Mcdonald Islands", "HM"))
> Items.Add(New ListItem("Held Territories", "XH"))
> Items.Add(New ListItem("Honduras", "HN"))
> Items.Add(New ListItem("Hong Kong", "HK"))
> Items.Add(New ListItem("Hungary", "HU"))
> Items.Add(New ListItem("Iceland", "IS"))
> Items.Add(New ListItem("India", "IN"))
> Items.Add(New ListItem("Indian Ocean Islands", "XI"))
> Items.Add(New ListItem("Indonesia", "ID"))
> Items.Add(New ListItem("Iran", "IN"))
> Items.Add(New ListItem("Iraq", "IQ"))
> Items.Add(New ListItem("Ireland", "IE"))
> Items.Add(New ListItem("Israel", "IL"))
> Items.Add(New ListItem("Italy", "IT"))
> Items.Add(New ListItem("Jamaica", "JM"))
> Items.Add(New ListItem("Japan", "JP"))
> Items.Add(New ListItem("Jordan", "JO"))
> Items.Add(New ListItem("Kazakhstan", "KZ"))
> Items.Add(New ListItem("Kenya", "KE"))
> Items.Add(New ListItem("Kiribati", "KI"))
> Items.Add(New ListItem("Korea", "KR"))
> Items.Add(New ListItem("Kuwait", "KW"))
> Items.Add(New ListItem("Kyrgyzstan", "KG"))
> Items.Add(New ListItem("Laos", "LA"))
> Items.Add(New ListItem("Latvia", "LV"))
> Items.Add(New ListItem("Lebanon", "LB"))
> Items.Add(New ListItem("Lesotho", "LS"))
> Items.Add(New ListItem("Liberia", "LR"))
> Items.Add(New ListItem("Libya", "LY"))
> Items.Add(New ListItem("Liechtenstein", "LI"))
> Items.Add(New ListItem("Lithuania", "LT"))
> Items.Add(New ListItem("Luxembourg", "LU"))
> Items.Add(New ListItem("Macau", "MO"))
> Items.Add(New ListItem("Macedonia", "MK"))
> Items.Add(New ListItem("Madagascar", "MG"))
> Items.Add(New ListItem("Malawi", "MW"))
> Items.Add(New ListItem("Malaysia", "MY"))
> Items.Add(New ListItem("Maldives", "MV"))
> Items.Add(New ListItem("Mali", "ML"))
> Items.Add(New ListItem("Malta", "MT"))
> Items.Add(New ListItem("Marshall Islands", "MH"))
> Items.Add(New ListItem("Martinique", "MQ"))
> Items.Add(New ListItem("Mauritania", "MR"))
> Items.Add(New ListItem("Mauritius", "MU"))
> Items.Add(New ListItem("Mayotte", "YT"))
> Items.Add(New ListItem("Mexico", "MX"))
> Items.Add(New ListItem("Micronesia", "FM"))
> Items.Add(New ListItem("Moldova", "MD"))
> Items.Add(New ListItem("Monaco", "MC"))
> Items.Add(New ListItem("Mongolia", "MN"))
> Items.Add(New ListItem("Montserrat", "MS"))
> Items.Add(New ListItem("Morocco", "MA"))
> Items.Add(New ListItem("Mozambique", "MZ"))
> Items.Add(New ListItem("Myanmar", "MM"))
> Items.Add(New ListItem("Namibia", "NA"))
> Items.Add(New ListItem("Nauru", "NR"))
> Items.Add(New ListItem("Nepal", "NP"))
> Items.Add(New ListItem("Netherlands", "NL"))
> Items.Add(New ListItem("Netherlands Antilles", "AN"))
> Items.Add(New ListItem("New Caledonia", "NC"))
> Items.Add(New ListItem("New Zealand", "NZ"))
> Items.Add(New ListItem("Nicaragua", "NI"))
> Items.Add(New ListItem("Niger", "NE"))
> Items.Add(New ListItem("Nigeria", "NG"))
> Items.Add(New ListItem("Niue", "NU"))
> Items.Add(New ListItem("Norfolk Island", "NF"))
> Items.Add(New ListItem("North Korea", "KP"))
> Items.Add(New ListItem("Northern Ireland", "XB"))
> Items.Add(New ListItem("Northern Mariana Islands", "MP"))
> Items.Add(New ListItem("Norway", "NO"))
> Items.Add(New ListItem("Oman", "OM"))
> Items.Add(New ListItem("Pakistan", "PK"))
> Items.Add(New ListItem("Palau", "PW"))
> Items.Add(New ListItem("Panama", "PA"))
> Items.Add(New ListItem("Papua New Guinea", "PG"))
> Items.Add(New ListItem("Paraguay", "PY"))
> Items.Add(New ListItem("Peru", "PE"))
> Items.Add(New ListItem("Philippines", "PH"))
> Items.Add(New ListItem("Pitcairn", "PN"))
> Items.Add(New ListItem("Poland", "PL"))
> Items.Add(New ListItem("Portugal", "PT"))
> Items.Add(New ListItem("Puerto Rico", "PR"))
> Items.Add(New ListItem("Qatar", "QA"))
> Items.Add(New ListItem("Reunion", "RE"))
> Items.Add(New ListItem("Romania", "RO"))
> Items.Add(New ListItem("Russia", "RU"))
> Items.Add(New ListItem("Rwanda", "RW"))
> Items.Add(New ListItem("Saint Lucia", "LC"))
> Items.Add(New ListItem("San Marino", "SM"))
> Items.Add(New ListItem("Sao Tome And Principe", "ST"))
> Items.Add(New ListItem("Saudi Arabia", "SA"))
> Items.Add(New ListItem("Scotland", "WY"))
> Items.Add(New ListItem("Senegal", "SN"))
> Items.Add(New ListItem("Seychelles", "SC"))
> Items.Add(New ListItem("Sierra Leone", "SL"))
> Items.Add(New ListItem("Singapore", "SG"))
> Items.Add(New ListItem("Slovak Republic", "SK"))
> Items.Add(New ListItem("Slovenia", "SI"))
> Items.Add(New ListItem("Solomon Islands", "SB"))
> Items.Add(New ListItem("Somalia", "SO"))
> Items.Add(New ListItem("South Africa", "ZA"))
> Items.Add(New ListItem("South Georgia", "GS"))
> Items.Add(New ListItem("Spain", "ES"))
> Items.Add(New ListItem("Sri Lanka", "LK"))
> Items.Add(New ListItem("St. Helena", "SH"))
> Items.Add(New ListItem("St. Kitts & Nevis", "KN"))
> Items.Add(New ListItem("St. Pierre", "PM"))
> Items.Add(New ListItem("St. Vincent & The Grenadines", "VC"))
> Items.Add(New ListItem("Sudan", "SD"))
> Items.Add(New ListItem("Suriname", "SR"))
> Items.Add(New ListItem("Svalbard And Jan Mayen Islands",
> "SJ"))
> Items.Add(New ListItem("Swaziland", "SZ"))
> Items.Add(New ListItem("Sweden", "SE"))
> Items.Add(New ListItem("Switzerland", "CH"))
> Items.Add(New ListItem("Syria", "SY"))
> Items.Add(New ListItem("Taiwan", "TW"))
> Items.Add(New ListItem("Tajikistan", "TJ"))
> Items.Add(New ListItem("Tanzania", "TZ"))
> Items.Add(New ListItem("Thailand", "TH"))
> Items.Add(New ListItem("Togo", "TG"))
> Items.Add(New ListItem("Tokelau", "TK"))
> Items.Add(New ListItem("Tonga", "TO"))
> Items.Add(New ListItem("Trinidad And Tobago", "TT"))
> Items.Add(New ListItem("Tunisia", "TN"))
> Items.Add(New ListItem("Turkey", "TR"))
> Items.Add(New ListItem("Turkmenistan", "TM"))
> Items.Add(New ListItem("Turks And Caicos Islands", "TC"))
> Items.Add(New ListItem("Tuvalu", "TV"))
> Items.Add(New ListItem("U.S. Minor Outlying Islands", "UM"))
> Items.Add(New ListItem("U.S.A.", "US"))
> Items.Add(New ListItem("Uganda", "UG"))
> Items.Add(New ListItem("Ukraine", "UA"))
> Items.Add(New ListItem("United Arab Emirates", "AE"))
> Items.Add(New ListItem("United Kingdom", "GB"))
> Items.Add(New ListItem("Uruguay", "UY"))
> Items.Add(New ListItem("Uzbekistan", "UZ"))
> Items.Add(New ListItem("Vanuatu", "VU"))
> Items.Add(New ListItem("Vatican City State", "VA"))
> Items.Add(New ListItem("Venezuela", "VE"))
> Items.Add(New ListItem("Viet Nam", "VN"))
> Items.Add(New ListItem("Virgin Islands (British)", "VG"))
> Items.Add(New ListItem("Virgin Islands (U.S.)", "VI"))
> Items.Add(New ListItem("Wales", "WX"))
> Items.Add(New ListItem("Wallis And Futuna Islands", "WF"))
> Items.Add(New ListItem("Western Sahara", "EH"))
> Items.Add(New ListItem("Western Samoa", "WS"))
> Items.Add(New ListItem("Yemen", "YE"))
> Items.Add(New ListItem("Yugoslavia", "YU"))
> Items.Add(New ListItem("Zambia", "ZM"))
> Items.Add(New ListItem("Zimbabwe", "ZW"))
> MyBase.OnPreRender(e)
> End Sub
> Protected Overrides Function SaveViewState() As Object
> End Function
> Protected Overrides Sub LoadViewState(ByVal savedState As Object)
> End Sub
> End Class|||versteijn@.538mail.nl (Versteijn) wrote in message news:<4d19834f.0402290936.79156a16@.posting.google.com>...
> Hello all
> I am developing a CountrySelector control (which I would like to share
> with anyone), but I am quite a newby in this custom control area.
> You can find it at:
> http://home.kabelfoon.nl/~juliusd/v...ntrySelector.vb

This is odd. I swear I posted it to the aspnet and buildingcontrols forums :S

Anyway thank you.

Freek Versteijn