AutoComplete Demonstration

本文介绍ASP.NET AJAX中的自动完成控件(AutoCompleteExtender)使用方法及属性配置,包括如何通过Web服务获取建议词汇、设置缓存、动画等特性。
AutoComplete Demonstration
Type some characters in this textbox. The web service returns random words that start with the text you have typed.
AutoComplete Description
AutoComplete is an ASP.NET AJAX extender that can be attached to any TextBox control, and will associate that control with a popup panel to display words that begin with the prefix typed into the textbox.
The dropdown with candidate words supplied by a web service is positioned on the bottom left of the text box.
In the sample above, the textbox is associated with an AutoCompleteExtender that pulls words that start with the contents of the textbox using a web service.
When you have typed more content than the specified minimum word length, a popup will show words or phrases starting with that value. Caching is turned on, so typing the same prefix multiple times results in only one call to the web service.
 AutoComplete Properties
The textbox is linked with an AutoCompleteExtender which is initialized with this code. The italic properties are optional:
<ajaxToolkit:AutoCompleteExtender
    runat="server"
    ID="autoComplete1"
    TargetControlID="myTextBox"
    ServiceMethod="GetCompletionList"
    ServicePath="AutoComplete.asmx"
    MinimumPrefixLength="2"
    CompletionInterval="1000"
    EnableCaching="true"
    CompletionSetCount="20"
    CompletionListCssClass="autocomplete_completionListElement"
    CompletionListItemCssClass="autocomplete_listItem"
    CompletionListHighlightedItemCssClass="autocomplete_highlightedListItem"
    DelimiterCharacters=";, :">
        <Animations>
            <OnShow> ... </OnShow>
            <OnHide> ... </OnHide>
        </Animations>
</ajaxToolkit:AutoCompleteExtender>
   
   
• TargetControlID - The TextBox control where the user types content to be automatically completed
• ServiceMethod - The web service method to be called. The signature of this method must match the following:
           [System.Web.Services.WebMethod]
           [System.Web.Script.Services.ScriptMethod]
           public string[] GetCompletionList(string prefixText, int count) { ... }
Note that you can replace "GetCompletionList" with a name of your choice, but the return type and parameter name and type must exactly match, including case.
• ServicePath - The path to the web service that the extender will pull the word/sentence completions from. If this is not provided, the service method should be a page method.
• ContextKey - User/page specific context provided to an optional overload of the web method described by ServiceMethod/ServicePath. If the context key is used, it should have the same signature with an additional parameter named contextKey of type string:
          [System.Web.Services.WebMethod]
          [System.Web.Script.Services.ScriptMethod]
          public string[] GetCompletionList(
          string prefixText, int count, string contextKey) { ... }
Note that you can replace "GetCompletionList" with a name of your choice, but the return type and parameter name and type must exactly match, including case.
• UseContextKey - Whether or not the ContextKey property should be used. This will be automatically enabled if the ContextKey property is ever set (on either the client or the server). If the context key is used, it should have the same signature with an additional parameter named contextKey of type string (as described above).
 MinimumPrefixLength - Minimum number of characters that must be entered before getting suggestions from the web service.
• CompletionInterval - Time in milliseconds when the timer will kick in to get suggestions using the web service.
• EnableCaching - Whether client side caching is enabled.
• CompletionSetCount - Number of suggestions to be retrieved from the web service.
• CompletionListCssClass - Css Class that will be used to style the completion list flyout.
• CompletionListItemCssClass - Css Class that will be used to style an item in the AutoComplete list flyout.
• CompletionListHighlightedItemCssClass - Css Class that will be used to style a highlighted item in the AutoComplete list flyout.
• DelimiterCharacters - Specifies one or more character(s) used to separate words. The text in the AutoComplete textbox is tokenized using these characters and the webservice completes the last token.
• FirstRowSelected - Determines if the first option in the AutoComplete list will be selected by default.
• Animations - Generic animations for the AutoComplete extender. See the Using Animations walkthrough and Animation Reference for more details.
• OnShow - The OnShow animation will be played each time the AutoComplete completion list is displayed. The completion list will be positioned correctly but hidden. The animation can use <HideAction Visible="true" /> to display the completion list along with any other visual effects.
• OnHide - The OnHide animation will be played each time the AutoComplete completion list is hidden.
Demo: Exploring Data with SAS Procedures In this demonstration, we use the PRINT, MEANS, UNIVARIATE, and FREQ procedures to explore and validate our data. Reminder: If you restarted your SAS session,you must recreate the PG1 library so you can access your practice files. In SAS Studio, open and submit the libname.sas program in the EPG1V2 folder. In Enterprise Guide, run the Autoexec process flow. Note: If you did not create the libname.sas program, complete the Activity: Create a Library for This Course (REQUIRED) in Lesson 2. Open p103d01.sas from the demos folder and locate the Demo section of the program. Complete the PROC PRINT statement to list the data in pg1.storm_summary. Use the DATA= option to specify the table name. Use the OBS= option to print only the first 10 observations. Highlight the step and run the selected code. Open code or syntax in a separate window. proc print data=pg1.storm_summary (obs=10); run; Review the output. The first 10 rows are displayed and all columns are included. Let's select the columns to include, and add a comment to document the program. Add a VAR statement to include only the following columns: Season, Name, Basin, MaxWindMPH, MinPressure, StartDate, and EndDate. Enterprise Guide: To easily add column names, use the autocomplete prompts to view and select columns. You can either double-click on a column to add it in the program, or start to type the column name and press the spacebar when the correct column is highlighted. SAS Studio: To easily add column names, place your cursor after the keyword VAR. Use the Library section of the navigation pane to find the pg1 library. Expand the storm_summary table to see a list of column names. Hold down the Ctrl key and select the columns in the order in which you want them to appear in the statement. Drag the selected columns to the VAR statement. Add the comment, list first 10 rows, before the PROC PRINT statement. Highlight the step and run the selected code. Open code or syntax in a separate window. /*list first 10 rows*/ proc print data=pg1.storm_summary(obs=10); var Season Name Basin MaxWindMPH MinPressure StartDate EndDate; run; Review the output. The output contains10 rows, but we've limited the columns and changed their order in the report. Remember we're using these procedures to validate our data. As we look at the values we notice that there are missing values for Name, and that Basin includes both lowercase and uppercase NA. There are also some missing values for MaxWindMPH and MinPressure. And that's just in the first 10 rows. Let's use other procedures to validate our data. Next we'll use PROC MEANS to compute summary statistics. Copy the PROC PRINT step, paste it at the end of the program and change PRINT to MEANS Remove the OBS= data set option to analyze all observations. Modify the VAR statement to include only MaxWindMPH and MinPressure. The columns on the VAR statement must be numeric. Add calculate summary statistics as a comment before the PROC MEANS statement. Highlight the step and run the selected code. Open code or syntax in a separate window. /*calculate summary statistics*/ proc means data=pg1.storm_summary; var MaxWindMPH MinPressure; run; Review the output. The report includes basic summary statistics for these two numeric columns. The frequency count, N, has different values for each column. This indicates that there are quite a few missing values for MinPressure compared to MaxWindMPH. You might want to look at the Minimum and Maximum to see if those ranges appear valid. Six is a pretty small value for MaxWindMPH. We might want to investigate further to see if this is a valid value. And negative 9,999 is definitely not valid for MinPressure. Next we'll use PROC UNIVARIATE to compute summary statistics including the 5 extreme low and high values. Copy the PROC MEANS step, paste it at the end of the program, and change MEANS to UNIVARIATE. Add examine extreme values as a comment before the PROC UNIVARIATE statement. Highlight the step and run the selected code. Open code or syntax in a separate window. /*examine extreme values*/ proc univariate data=pg1.storm_summary; var MaxWindMPH MinPressure; run; Review the output. Scroll down to the Extreme Observations table. It includes the observation number and the value for the low and high MaxWindMPH values. We might be interested later on in learning which storm had a maximum wind speed of 213 miles per hour. Scroll down to the Extreme Observations report for MinPressure. There are only two rows where the value for MinPressure was negative 9,999. That gives us a little more insight as to what we're dealing with in our data. Let's use PROC FREQ to generate one-way frequency reports. Copy the PROC UNIVARIATE step and paste it at the end of the program. Copy the PROC UNIVARIATE step, paste it at the end of the program, and change UNIVARIATE to FREQ. Change the VAR statement to a TABLES statement to produce frequency tables for Basin, Type, and Season. Add list unique values and frequencies as a comment before the PROC FREQ statement. Highlight the step and run the selected code. Open code or syntax in a separate window. /*list unique values and frequencies*/ proc freq data=pg1.storm_summary; tables Basin Type Season; run; Review the output. Recall that our PROC PRINT output showed that there were some lower case values for Basin. The Frequency table for Basin indicates that 16 rows have a lowercase na value. We'll need to correct that later on. The Type frequency table shows no case inconsistencies or incorrect values. The frequency table for Season shows how many storms there were per season. We can identify those seasons that had the most storms, such as 2005 with 102. These procedures give us insight to our data. They help us to learn about the data values and what we may need to fix as we prepare our data. They also help us think about questions we may want to answer as we analyze our data further.
09-06
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值