Wednesday, August 30, 2006

Visual Studio 2005 , Window Moblie 2003 and Pocket PC 2003

1. How is Windows Mobile related to Windows CE?
http://blogs.msdn.com/marcpe/archive/2005/04/22/410778.aspx
https://blogs.msdn.com/marcpe/archive/2005/05/04/414644.aspx

'Windows CE' as a product consists of two main things: Platform Builder and a very large collection of software bits ... it is *not* is a finished OS.

Windows Mobile is a set of pre-selected Windows CE components.

Windows CE as a product has been around for a while (I think the first version was around 1996) but Pocket PC and Windows Mobile platform is much newer. Each version of Pocket PC and Windows Mobile is built from a specific version of the Windows CE product

Windows CE 3.0
Pocket PC
Handheld PC 2000
Pocket PC 2002
Smartphone 2002

Windows CE 4.0 (SP2)
(Windows Mobile 2003) Pocket PC 2003
(Windows Mobile 2003) Pocket PC 2003 Phone
(Windows Mobile 2003) Smartphone 2003
(Windows Mobile 2003 SE) Pocket PC 2003 Second Edition
(Windows Mobile 2003 SE) Pocket PC 2003 Phone Second Edition
(Windows Mobile 2003 SE) Smartphone 2003 Second Edition

Windows CE 5.0
Windows Mobile v.next

2. Pocket PC and Smartphone
Pocket PC procss data
Smatphone use on voice

3. Use Visual Studio 2005 to develop Windows Mobile 2003 application
通过 .NET Compact Framework 优化 Pocket PC 开发
Visual studio 2005 support Pocket PC 2003, Smartphone 2003 and Window CE 5.0 application developments.

4. Web Mobile Emulator setting
Visual Studio 2005 include emulator for Pocket PC 2003, Smartphone 2003 and Window CE 5.0. To setup network connection, goto /Tool/Device Emulator Manager, select one emulator, and right click, chosse "connect", this will open the emulator.

Under emulator window, select /File/Configure, under "Network" tab, check "Enable NE2000 PCMCIA Network adapter and Bind to" and click "OK". If not error dialog box pops up, it mean the network connection was already setup. Otherwise, just follow the link to download "Virtual Machine Network Driver for Microsoft Device Emulator", and install the driver.

After this, open emulator window again, goto /Start/Settings/Connections/Network Cards, select a network card, and goto network to select a "internet" or "work".

5. Windows Mobile 5.0 Application Development
New SDK:
Microsoft.WindowsMobile.Configuration
Microsoft.WindowsMobile.Forms
Microsoft.WindowsMobile.PocketOutlook
Microsoft.WindowsMobile.Status
Microsoft.WindowsMobile.Telephony
http://bbs.mscommunity.com/forums/ShowThread.aspx?PostID=11991

More SDK for .Net see here
http://www.opennetcf.org/home.ocf

6. Call CoreDll.dll in .NET
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=626863&SiteID=1
The Windows CE Namespace

Tuesday, August 29, 2006

Career Path

1. Job hunting
http://www.simfit.org/ practice firm, provides the perfect setting for unemployed individuals to gain ‘hands on’ experience in their field while at the same time actively looking for employment.

Wednesday, August 09, 2006

Access Controls inside GridView

How to access controls inside GridView?
1. If the controls is in a TemplateField, and use EditItemTemplate for editing, FooterTemplate for inserting records
< asp:templatefield sortexpression="name" headertext="Name" >
< ItemTemplate > < %# Eval("name") %> < / ItemTemplate >
< FooterTemplate > < asp:TextBox id="txtInsertName" runat="server">< / asp:TextBox > < / FooterTemplate>
< EditItemTemplate > < asp:TextBox id="txtEditName" runat="server"> < / asp:TextBox > < / EditItemTemplate >
< /asp:templatefield>
....
< asp:TemplateField HeaderText="Action">
< ItemTemplate>
< asp:LinkButton id="btnEdit" Runat="server" Text="Edit" CommandName="Edit">< /asp:LinkButton>
< asp:LinkButton id="btnDelete" Runat="server" Text="Remove" CommandName="Delete">< /asp:LinkButton>
< /ItemTemplate>
< EditItemTemplate>
< asp:LinkButton id="btnSave" Runat="server" Text="Save" CommandName="Update">< /asp:LinkButton>
< asp:LinkButton id="btnCancel" Runat="server" Text="Cancel" CommandName="Cancel">< /asp:LinkButton>
< /EditItemTemplate>
< FooterTemplate>
< asp:LinkButton ID="btnInsert" Runat="server" Text="Insert" CommandName="Insert">< /asp:LinkButton>
< /FooterTemplate>
< /asp:TemplateField>

a. Initial values: In RowCreated event,
protected void dgContact_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow) {
if ((e.Row.RowState & DataControlRowState.Edit) != 0) {
int index = e.Row.RowIndex;
IContact contact = contacts[index];
((TextBox)e.Row.FindControl("txtEditName")).Text = contact.name;
...
}
}
}
b. Updating: OnRowUpdating event,
protected void dgContact_OnRowUpdating(object sender, GridViewUpdateEventArgs e)
{
GridViewRow row = dgContact.Rows[e.RowIndex];
contact.name = ((TextBox)row.FindControl("txtEditName")).Text;
...
}
c. Insert: OnRowCommand
protected void dgContact_OnRowCommand(object sender, GridViewCommandEventArgs e)
{
switch (e.CommandName) {
case "Insert":
GridViewRow row = dgContact.FooterRow;
contact.name = ((TextBox)row.FindControl("txtInsertName")).Text;
...
}
d. Delete: OnRowDeleting Event
protected void dgContact_OnRowDeleting(object sender, GridViewDeleteEventArgs e)
{
string email = dgContact.DataKeys[e.RowIndex].Value.ToString();
...
}