PowerTools SPREAD for ASP.NET 8.0J > 開発者の手引き > セル型 > AJAX Control Toolkitを使用したセル型 > オートコンプリート型セル |
オートコンプリート型セルは、AJAX ControlToolkit のAutoComplete コントロールの機能を実現します。
このセル型の作成や設定は、AutoCompleteCellType クラスを使用して行います。
AJAX ControlTookitを使用したセル型の設定方法や注意点については「AJAX Control Toolkitを使用したセル型」を参照してください。 |
オートコンプリート型セルの編集にオートコンプリート機能を提供します。オートコンプリートの候補となる文字列は、Webサービスを使用して設定します。
次のサンプルコードは、オートコンプリート型セルの設定例です。
FarPoint.Web.Spread.Extender.AutoCompleteCellType ac = new FarPoint.Web.Spread.Extender.AutoCompleteCellType(); ac.CompletionInterval = 1000; ac.CompletionSetCount = 5; ac.DelimiterCharacters = ";, :"; ac.ServicePath = "WebService.asmx"; ac.ServiceMethod = "GetAllNames"; ac.MinimumPrefixLength = 1; ac.EnableCaching = true; ac.ShowEditor = true; FpSpread1.ActiveSheetView.Cells[0, 0].CellType = ac; // WebService.axmx での実装 public class WebService : System.Web.Services.WebService { [WebMethod] public string[] GetAllNames(string prefixText, int count) { ArrayList filteredList = new ArrayList(); string[] names = {"AzamSharp","Scott","Alex","Mary","John","Ali","Sam","Sammy"}; foreach (string name in names) { if (name.ToLower().StartsWith(prefixText.ToLower())) filteredList.Add(name); } return (string[]) filteredList.ToArray(typeof(string)); } }
Dim ac As New FarPoint.Web.Spread.Extender.AutoCompleteCellType() ac.CompletionInterval = 1000 ac.CompletionSetCount = 5 ac.DelimiterCharacters = ";, :" ac.ServicePath = "WebService.asmx" ac.ServiceMethod = "GetAllNames" ac.MinimumPrefixLength = 1 ac.EnableCaching = True ac.ShowEditor = True FpSpread1.ActiveSheetView.Cells(0, 0).CellType = ac ' WebService.axmx での実装 Public Class WebService Inherits System.Web.Services.WebService <WebMethod()> Public Function GetAllNames(ByVal prefixText As String, ByVal count As Integer) As String() Dim filteredList As ArrayList = New ArrayList Dim names() As String = {"AzamSharp", "Scott", "Alex", "Mary", "John", "Ali", "Sam", "Sammy"} For Each name As String In names If name.ToLower.StartsWith(prefixText.ToLower) Then filteredList.Add(name) End If Next Return CType(filteredList.ToArray(GetType(System.String)), String()) End Function End Class