NetAdvantage 2007vol2中WebCombo实现AutoComplete效果,并实现“大小写敏感”

NetAdvantage 2007 vol 2中增加了很多的AJAX效果,尤其是那个WebCombo的AJAX效果不错。
实现起来非常方便,只要把WebCombo属性如下设置:
ComboTypeAhead="Suggest" Editable="True" EnableXmlHTTP="True" 
但是2007vol2中有个BUG,会提示必须要绑定一个“ OnInitializeDataSource”的事件。
所以现在只能手工添加了,如:
ComboTypeAhead="Suggest" Editable="True" EnableXmlHTTP="True" OnInitializeDataSource="WebCombo2_InitializeDataSource"

然后在后台添加一个这样的方法:
  protected   void  WebCombo2_InitializeDataSource( object  sender, Infragistics.WebUI.WebCombo.WebComboEventArgs e)
    {

        DataTable dt 
=   new  DataTable();
        dt.Columns.Add(
" name " );
        dt.Rows.Add(
new   string [] {  " ISTJ "  });
        dt.Rows.Add(
new   string [] {  " ISFJ "  });
        dt.Rows.Add(
new   string [] {  " ESTP "  });
        dt.Rows.Add(
new   string [] {  " ESFP "  });
        dt.Rows.Add(
new   string [] {  " INTJ "  });
        dt.Rows.Add(
new   string [] {  " INFJ "  });
        dt.Rows.Add(
new   string [] {  " ENTP "  });
        dt.Rows.Add(
new   string [] {  " ENFP "  });
        dt.Rows.Add(
new   string [] {  " ISTP "  });
        dt.Rows.Add(
new   string [] {  " INTP "  });
        dt.Rows.Add(
new   string [] {  " ESTJ "  });
        dt.Rows.Add(
new   string [] {  " ENTJ "  });
        dt.Rows.Add(
new   string [] {  " ISFP "  });
        dt.Rows.Add(
new   string [] {  " INFP "  });
        dt.Rows.Add(
new   string [] {  " ESFJ "  });
        dt.Rows.Add(
new   string [] {  " ENFJ "  });
        
this .WebCombo2.DataSource  =  dt;
        
this .WebCombo2.DataTextField  =   " name " ;
        
this .WebCombo2.DataValueField  =   " name " ;
        
this .WebCombo2.DataBind();
    }

就这样,一切都搞定了,我的例子中可以实现输入一个“i”字符,就可以提示可选项了:


在这过程中我还发现了一个问题,就是“大小写敏感”
默认的话,控件在HTML中是有“<columns>”节的:
  < igcmbo:WebCombo  ID ="WebCombo2"  runat ="server"  BorderColor ="#9BB7E0"  BorderStyle ="Solid"
            BorderWidth
="1px"  CssClass ="igWebComboMain"  DropImage1 ="~/ig_common/20072CLR20/Styles/Office2007Blue/WebCombo/office2007ddup.gif"
            DropImage2
="~/ig_common/20072CLR20/Styles/Office2007Blue/WebCombo/office2007dddown.gif"
            DropImageXP1
="~/ig_common/20072CLR20/Styles/Office2007Blue/WebCombo/office2007ddup.gif"
            DropImageXP2
="~/ig_common/20072CLR20/Styles/Office2007Blue/WebCombo/office2007dddown.gif"
            Font-Names
="Tahoma"  Font-Size ="8pt"  Height ="18px"  HideDropDowns ="False"  SelBackColor ="234, 242, 251"
            SelForeColor
="Black"  Version ="4.00"  Width ="120px"  ComboTypeAhead ="Suggest"  Editable ="True"  EnableXmlHTTP ="True"  OnInitializeDataSource ="WebCombo2_InitializeDataSource" >
             
< Columns >
                
< igtbl:UltraGridColumn >
                    
< header  caption ="Column0" ></ header >
                
</ igtbl:UltraGridColumn >
            
</ Columns >
            
< ExpandEffects  ShadowColor ="LightGray"   />

这个默认有的话,那就是“大小写不敏感”,这可能是大部分人需要的效果吧。

但我无意间发现,如果去掉“<columns>”节的信息后,就会变成“大小写敏感”了!!
这可能也是有些人反而需要的。
总之,这是一个没有道理的地方啊,也算是BUG吧。我当时在NetAdvantage的官方网站上都没有找到这个规律。
特此供大家参考!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值