none
autocompleteextender 显示表 RRS feed

  • 问题

  • asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
                <asp:AutoCompleteExtender ID="TextBox1_AutoCompleteExtender" runat="server" 
                    DelimiterCharacters="" Enabled="True" ServiceMethod="GetScenic1" ServicePath="~/人力资源系统/弹出页面/上班补卡申请工号.asmx" 
                    TargetControlID="TextBox1" CompletionInterval="100" CompletionSetCount="5" 
                    MinimumPrefixLength="1" UseContextKey="True">
                </asp:AutoCompleteExtender>
    想要在TEXTBOX1下面显示一个表,应该怎么做呢
    2012年6月30日 7:37

答案

全部回复

  • using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Services;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Web.Services.Protocols;
    using System.Xml.Linq;
    using System.Data.SqlClient;
    using System.Configuration;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Windows.Forms;
    
    /// <summary>
    ///上班补卡申请工号 的摘要说明
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    //若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。 
     [System.Web.Script.Services.ScriptService]
    public class 上班补卡申请工号 : System.Web.Services.WebService {
    
        public 上班补卡申请工号 () {
    
            //如果使用设计的组件,请取消注释以下行 
            //InitializeComponent(); 
        }
    
        [WebMethod]
        public DataTable GetScenic1(string prefixText, int count)
        {
            
            SqlConnection sqlcon = new SqlConnection();
            sqlcon.ConnectionString = ConfigurationManager.ConnectionStrings["testConnectionString"].ConnectionString;
            //sqlcon.Open();
            List<string> result = new List<string>(count);//泛型       
            string sql = "select DISTINCT top " + count + " * from worktimeadd where staffno Like '%" + prefixText + "%'";
            //string sql = "select DISTINCT top " + count + "  col1 from test where col1 Like '%" + prefixText + "%'";
            //SqlConnection sqlcon = new SqlConnection("Data Source=BYZ-1;Initial Catalog=Test2;Integrated Security=True");
            sqlcon.Open();
            SqlCommand cmd = new SqlCommand(sql, sqlcon);
            SqlDataAdapter rd = new SqlDataAdapter(sql, sqlcon);
            //SqlDataReader rd = cmd.ExecuteReader();
            DataSet 权限表 = new DataSet();
            rd.Fill(权限表, "结果");
            sqlcon.Close();
            return 权限表.Tables[0];
        }
    
        
    }

    完全没有反应。只显示某列就没有问题。

    • 已编辑 彭123 2012年6月30日 7:41
    2012年6月30日 7:38
  • 你好

    如果需要显示一个表,那么需要重写一些代码。如果你使用jQuery UI autocomplete

    http://jqueryui.com/demos/autocomplete/

    那么可以参考这个帖子,进行改写,http://stackoverflow.com/questions/2435964/jqueryui-how-can-i-custom-format-the-autocomplete-plug-in-results

    2012年7月2日 2:56
    版主
  • 你好,请问有AJAX方面的示例吗,JQUREY我不懂。

    2012年7月2日 11:00
  • 目的已达到,请参考http://social.msdn.microsoft.com/Forums/zh-CN/295/thread/05d6be99-1edf-4e47-8276-d00c3b9dbeee

    希望大家多邀请朋友加入MSDN论坛。这样才能互帮互助!

    • 已建议为答案 ThankfulHeart 2012年7月3日 8:38
    • 取消建议作为答案 彭123 2012年7月3日 9:01
    • 已标记为答案 彭123 2012年7月29日 7:19
    2012年7月3日 7:55
  • 目的已达到,请参考http://social.msdn.microsoft.com/Forums/zh-CN/295/thread/05d6be99-1edf-4e47-8276-d00c3b9dbeee

    希望大家多邀请朋友加入MSDN论坛。这样才能互帮互助!

    你这个答案貌似和问题毫无关系吧……?希望下次说清楚你究竟需要什么……XD

    标记答案吧……


    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处

    2012年7月3日 8:38
  • 目的已达到,请参考http://social.msdn.microsoft.com/Forums/zh-CN/295/thread/05d6be99-1edf-4e47-8276-d00c3b9dbeee

    希望大家多邀请朋友加入MSDN论坛。这样才能互帮互助!

    你这个答案貌似和问题毫无关系吧……?希望下次说清楚你究竟需要什么……XD

    标记答案吧……


    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处


    不好意思,我是高兴过头了,还有些问题没有解决。
    2012年7月3日 9:02
  • <%@ Page Language="C#" AutoEventWireup="true" CodeFile="上班补卡申请.aspx.cs" Inherits="人力资源系统_弹出页面_上班补卡申请" %>
    
    <%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="asp" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <script src="../../My97DatePicker/WdatePicker.js" type="text/javascript">
           
        </script>
        <script>
            function showDiv(event) {
                tip.left = event.x;
                tip.top = event.y;
                tip.style.display = "inline";
            }
            function hideDiv(event) {
                tip.style.display = "none";
            }
        </script>
        
        <script src="../../jQuery/jquery-1.7.2.js" type="text/javascript"></script>
        <script>
            $(function () {
                $("#GridView1 tr").click(function () {
                    //点击之后给隐藏域赋值
                    $("#HiddenField1").val($(this).find("td").eq(0).html());
                    //整个页面刷新
                    document.forms[0].submit();
                });
            });
        </script>
     <style type="text/css">
    #column1{ float:left; width:50%;} 
    #column2{ float:right; width:50%;}
    #tip{display:none;position:absolute;z-index:1000;background:#ffffff;border:solid:#333;}
    
    </style>
        <title></title>
    
    </head>
    <body style=" background:#cce8cf " topmargin="0" leftmargin="0" rightmargin="0" botommargin="0" marginwidth="0"
       marginheight="0">
        <form id="form1" runat="server">
    
        
        <div>
            <asp:Button ID="Button1" runat="server" Text="保存" />
            <asp:Button ID="Button2" runat="server" Text="清空" />
        </div>
        <div>
            <div id="column1">
            <asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
            
            
    </asp:ToolkitScriptManager>
                <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                <ContentTemplate>
               
                <table cellspacing="1">
                    <tr>
                        <td>
    
                <asp:Label ID="Label1" runat="server" Text="工号:"></asp:Label>
                        </td>
                        <td>
                <asp:TextBox ID="TextBox1" runat="server" onfocus="showDiv(event)" 
                                ontextchanged="TextBox1_TextChanged"   ></asp:TextBox>
                                onblur="hideDiv(event)"
                
                <asp:HiddenField ID="HiddenField1" runat="server" />
                <div id="tip" >
                
    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
                        DataKeyNames="FID" DataSourceID="SqlDataSource3" 
                        ondatabinding="GridView1_DataBinding" 
                        onrowdatabound="GridView1_RowDataBound" 
            onrowcommand="GridView1_RowCommand">
                        <Columns>
                            <asp:BoundField DataField="FID" HeaderText="FID" InsertVisible="False" 
                                ReadOnly="True" SortExpression="FID" />
                            <asp:BoundField DataField="StaffNo" HeaderText="StaffNo" 
                                SortExpression="StaffNo" />
                            <asp:BoundField DataField="FDate" HeaderText="FDate" SortExpression="FDate" />
                        </Columns>
                        <HeaderStyle BackColor="CornflowerBlue" />
                    </asp:GridView>
                    <asp:SqlDataSource ID="SqlDataSource3" runat="server" 
                        ConnectionString="<%$ ConnectionStrings:testConnectionString %>" 
                        SelectCommand="SELECT top 5 [FID], [StaffNo], [FDate] FROM [WorkTime]">
                    </asp:SqlDataSource>
    </div>
                        </td>
                    </tr>
                    <tr>
                        <td>
                <asp:Label ID="Label2" runat="server" Text="补卡类别:"></asp:Label>
                        </td>
                        <td>
                            <asp:DropDownList ID="DropDownList1" runat="server">
                                <asp:ListItem>入职未办卡</asp:ListItem>
                                <asp:ListItem>补卡</asp:ListItem>
                                <asp:ListItem>工卡丢失</asp:ListItem>
                            </asp:DropDownList>
                        </td>
                    </tr>
                    <tr>
                        <td>
                <asp:Label ID="Label3" runat="server" Text="补卡日期:"></asp:Label>
                        </td>
                        <td>
                <asp:TextBox ID="TextBox3" runat="server" onfocus="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})"></asp:TextBox>
                            
                        </td>
                    </tr>
                    <tr>
                        <td>
                <asp:Label ID="Label4" runat="server" Text="补卡原因:"></asp:Label>
                        </td>
                        <td>
                <asp:TextBox ID="TextBox4" runat="server" ></asp:TextBox>
                        </td>
                    </tr>
                    <tr>
                        <td>
                <asp:Label ID="Label5" runat="server" Text="申请人:"></asp:Label>
                        </td>
                        <td>
                <asp:TextBox ID="TextBox5" runat="server" ReadOnly="True"></asp:TextBox>
                        </td>
                    </tr>
                    <tr>
                        <td>
                <asp:Label ID="Label6" runat="server" Text="立即提交:"></asp:Label>
                        </td>
                        <td>
                            <asp:CheckBox ID="CheckBox1" runat="server" Checked="True" />
                        </td>
                    </tr>
    
                </table>
                 </ContentTemplate>
                </asp:UpdatePanel>
            
    
            </div>
            <div id="column2">
            <asp:GridView ID="GridView2" runat="server">
                </asp:GridView>
            </div>
        </div>
        </form>
    </body>
    </html>
    

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Data;
    using Microsoft.Reporting.WebForms;
    using System.Collections;
    using System.Configuration;
    using System.Web.Security;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Xml.Linq;
    using System.Data.SqlClient;
    using System.Data.OleDb;
    using System.IO;
    using System.Web.SessionState;
    
    public partial class 人力资源系统_弹出页面_上班补卡申请 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            //TextBox5.Text = Session["姓名"].ToString();
            
            TextBox1.Attributes.Add("onkeyup", "__doPostBack('TextBox2','')");
            
            
            if (Request.Form["HiddenField1"] != null)
            {
                string id = Request.Form["HiddenField1"];
                HiddenField1.Value = id;
                //这里请使用手动方式的SqlDataAdapter+Fill方法填充DataTable,绑定到另外一个GridView!
                SqlConnection sqlcon = new SqlConnection();
                sqlcon.ConnectionString = ConfigurationManager.ConnectionStrings["testConnectionString"].ConnectionString;
                sqlcon.Open();//连接并打开数据库
                //给GRIDVIEW绑定值
                string str1 = "SELECT [FID], [StaffNo], [FDate] FROM [WorkTime] where [FID]='" + HiddenField1.Value.ToString() + "'";
                // 创建一个适配器
                SqlDataAdapter adapter = new SqlDataAdapter(str1, sqlcon);
                // 创建DataSet,用于存储数据.
                DataSet 权限表 = new DataSet();
                // 执行查询,并将数据导入DataSet.
                adapter.Fill(权限表, "结果");
                GridView2.DataSource = 权限表.Tables[0];
                GridView2.DataBind();
    
            }
        }
        protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                //鼠标经过时,行背景色变 
                e.Row.Attributes.Add("onmouseover", "this.style.backgroundColor='#00A9FF'");
                //鼠标移出时,行背景色变 
                e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor='#FFFFFF'");
    
            }
        }
        protected void GridView1_DataBinding(object sender, EventArgs e)
        {
    
        }
        protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
        {
    
        }
        protected void TextBox1_TextChanged(object sender, EventArgs e)
        {
            SqlDataSource3.SelectCommand = "SELECT top 5 [FID], [StaffNo], [FDate] FROM [WorkTime] where FID like '%" + TextBox1.Text + "%'";
            TextBox1.Focus();
        }
    }

    2012年7月3日 9:06
  • TextBox1.Focus();
    这个语句触发后,再次获取焦点时,光标无法跳到最后。请问应该怎样修改一下啊?
    2012年7月3日 9:08