Tuesday, May 18, 2004

In order to implement filtering functionality in the SmartList, I had a need to provide the mappings that correspond dialer keyboard key to the characters accordingly to the GSM 02.30 format: 2 - “abc”, 3 - “def” etc... If you look at the code, you'll be able to see that it's simply done by utilizing a Hashtable:

numToLetter.Add('2', "abc");
numToLetter.Add('3', "def");
numToLetter.Add('4', "ghi");
numToLetter.Add('5', "jkl");
...

(By the way, if anybody knows a way to retreive these mapping from the system automatically, please let me know)

This private member is exposed to a developer as the KeyMappings property, which means that you should be able to add/replace the default characters with a language specific ones:

smartList1.KeyMappings['1'] += "ä";
or
smartList1.KeyMappings['1'] = "абв";

The current logic in the control doesn't allow filtering if a Smartphone or Pocket PC device has a built in “qwerty” keyboard. But since I've already received a few requests to enable this functionality in the SmartList, I'll be adding it very soon. 

5/18/2004 2:35:18 PM (GMT Daylight Time, UTC+01:00)  #     |