案件是这样的: db表如下:
并且所需的用户界面是这样的:
这可能吗?我想进行自动完成,直到全名,然后,当用户输入例如john时,所有具有john名称的客户都将显示分支名称附加数据,如果用户选择其中一行,则弹出,它会更新cif号码。 例: -John Doe | Mighigan分公司 -John Alex |开罗分公司 - 大卫约翰|加拿大分公司
到目前为止,我在asp.net上搜索弹出自动完成功能,它只是在数据库中查找一列,并更新相同的文本字段。我需要它来更新多个文本字段,客户名称和cif号码。或者,只是CIF编号,但自动完成将查找客户名称和分支名称。
非常感谢。
答案 0 :(得分:0)
为了强制选择文本,您可以订阅TextChanged
事件并使用下面的函数作为itemSelected
扩展器的客户端事件OnClientItemSelected="autoCompleteEx_ItemSelected"
的处理程序:
<script type="text/javascript">
function autoCompleteEx_ItemSelected(sender, args) {
__doPostBack(sender.get_element().name, "");
}
</script>
您可能想要从目标文本框中删除AutoPostBack="true"
你的回发活动将是
protected void autoCompleteTextbox_ValueChanged(object sender, EventArgs e)
{
///populate the form based on retrieved data
}
从this链接,您需要加入两个字段
List<string> autocompleteList= new List<string>();
for (int i = 0; i < dt.Rows.Count; i++)
{
autocompleteList.Add(dt.Rows[i]["FullName"].ToString()+"|"+dt.Rows[i]["BranchName"].ToString());
}
将您的OnClientItemSelected="autoCompleteEx_ItemSelected"
放入automcomplete extender。
<ajaxtoolkit:AutoCompleteExtender runat="server"
//other properties
OnClientItemSelected="autoCompleteEx_ItemSelected">
</ajaxtoolkit:autocompleteextender>