1

ここに画像の説明を入力

TextBox2 ( )のイメージを参照してくださいtbxAttribute and tbxAttributeDesc。ページが読み込まれると値が読み込まれtbxAttribute TextBoxます。 tbxAttributeDesc TextBoxエンド ユーザーはそのデータを入力します。

の はすでに完了していAutocomplete TextますtbxAttributeDesc。これらの値をテーブルに維持しています。ロードされた値に基づいてtbxAttribute、対応AttributeDescする値が強調表示されますtbxAttributeDesc Textbox

私のコードは:

autoDesc = new AjaxControlToolkit.AutoCompleteExtender();

autoDesc.ID = "autoDesc" + i; 

autoDesc.BehaviorID = "tbxAtribute" + i;

autoDesc.ServicePath = "itemvaluemas.asmx";

autoDesc.ServiceMethod = "GetAttributeDesc";

autoDesc.TargetControlID = tbxAttributeDesc.ID;

autoDesc.MinimumPrefixLength = 1;

autoDesc.CompletionInterval = 10; 

autoDesc.FirstRowSelected = true;

autoDesc.CompletionSetCount = 30;

autoDesc.UseContextKey = true;

また、Javascript コンセプトも使用しました。

下の画像を参照してください。

ここに画像の説明を入力

ここでは、条件を渡す必要があり、その値に基づいてtbxAtribute対応する値を強調表示する必要があります..tbxAtributeDesctbxAbbr

私が使用する場合ContextKey、これらの2つのテキストボックス値をコンテキストキーに渡す方法..

何かアイデアがあれば、この問題を解決するのを手伝ってください。

4

2 に答える 2

3

ContextKeyプロパティを使用して、テキストボックスの値をGetAutoCompleteValues関数に渡します。

txtbox1.Attributes.Add("onchange", "$find('BehaviourIDOftbxAttributeDesc').set_contextKey(tbxAttribute.value);");

詳細については、以下のリンクを確認してください。

AJAX C#AutoCompleteExtender contextKey

http://arrao4u.wordpress.com/2010/01/14/autocomplete-extender-with-context-key/

于 2012-06-11T12:40:38.023 に答える
1

これは私が見つけた解決策です。

私はJavaScriptを使用しています:

function SetContextAbbr(formatid, itemValue, behaveid) {
var autoComplete1 = $find(behaveid);
var target = autoComplete1.get_element();
var txtformatid = document.getElementById(formatid);
var txtitemValue = document.getElementById(itemValue);
var contextkeydata = txtformatid.value + "-" + txtitemValue.value;
autoComplete1.set_contextKey(contextkeydata);
}

関数を次のように使用します

 public string[] GetItemabbr(string prefixText, int count, string contextKey)
 {
        string[] splitvalue = contextKey.Split('-');

        //code here
 }

WebServiceで

                    autoabbr = new AjaxControlToolkit.AutoCompleteExtender();
                    autoabbr.ID = "autoabbr" + i;
                    autoabbr.BehaviorID = "autoabbrbehave" + i;
                    autoabbr.ServicePath ="itemvaluemas.asmx";
                    autoabbr.ServiceMethod = "GetItemabbr";
                    autoabbr.TargetControlID = txtItemAbbrValue.ID;
                    autoabbr.MinimumPrefixLength = 1;
                    autoabbr.CompletionInterval = 10;
                    autoabbr.FirstRowSelected = true;
                    autoabbr.CompletionListCssClass = "completionList";
                    autoabbr.CompletionListHighlightedItemCssClass = "itemHighlighted";
                    autoabbr.CompletionListItemCssClass = "listItem";
                    autoabbr.CompletionSetCount = 30;
                    autoabbr.UseContextKey = true;
于 2012-06-16T05:34:13.383 に答える