NetAdvantage 2007 vol 2中增加了很多的AJAX效果,尤其是那个WebCombo的AJAX效果不错。
实现起来非常方便,只要把WebCombo属性如下设置:
所以现在只能手工添加了,如:
然后在后台添加一个这样的方法:
就这样,一切都搞定了,我的例子中可以实现输入一个“i”字符,就可以提示可选项了:
在这过程中我还发现了一个问题,就是“大小写敏感”
默认的话,控件在HTML中是有“<columns>”节的:
这个默认有的话,那就是“大小写不敏感”,这可能是大部分人需要的效果吧。
但我无意间发现,如果去掉“<columns>”节的信息后,就会变成“大小写敏感”了!!
这可能也是有些人反而需要的。
总之,这是一个没有道理的地方啊,也算是BUG吧。我当时在NetAdvantage的官方网站上都没有找到这个规律。
特此供大家参考!
实现起来非常方便,只要把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();
}
{
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" />
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的官方网站上都没有找到这个规律。
特此供大家参考!