2013-12-20 36 views
1

我有一個自動完成文本框。它的數據源來自大型數據庫。當用戶鍵入任何內容時,它將與數據庫匹配並顯示匹配的數據。我的數據庫有2列一個名爲「英語」,另一個是「孟加拉」。我的搜索輸入項將成爲第一列數據(英文列)顯示在Windows Phone中選擇了自動完成框

現在,無論用戶何時從自動填充文本框中選擇一個項目,每次都會顯示所選文本和相應的值,形成數據庫的第二列。從下圖中,第一個文本塊來自「english」列,第二個文本塊來自「bangla」列。 這裏將會有2個按鈕。當用戶按下這些按鈕時,它將顯示第一個文本塊的文本。 。

mylist = new List<string>(); 
     //string word = textBox1.Text; 


     var contacts = (from m in db.Dics select new { m.English }); 


     foreach (var a in contacts) 
     { 
      s1 = a.English; 


      mylist.Add(s1); 
     } 


     this.kk.ItemsSource = mylist; // kk is my autocomplete textbox 

我自動完成文本框在XAML:

<Grid x:Name="contentpanel" Grid.Row="1" > 
     <StackPanel> 
     <toolkit:AutoCompleteBox x:Name="kk"/> 
     </StackPanel> 
    </Grid> 

現在,當用戶選擇一個項目

enter image description here 我正好可以作爲autocompletetextbox像這樣的源添加的第一列數據我怎樣才能顯示這個文本,它是從數據庫的各自的價值,也實現了那裏的按鈕行動。 任何人都可以幫我嗎?

回答

2

這可能會解決您的問題。

<Grid x:Name="contentpanel" Grid.Row="1" > 
<StackPanel> 
    <toolkit:AutoCompleteBox x:Name="kk" FilterMode="StartsWith" SelectionChanged="kk_SelectionChanged"/> 
    </StackPanel> 
</Grid> 


private void txtFodd_SelectionChanged(object sender, SelectionChangedEventArgs e) 
{ 
if (e.AddedItems.Count == 0) 
    return; 
string mylistItem = (string)e.AddedItems[0]; 
//Now perform your query with Db with mylistitem string 
}