效果图:就是一个TextBox输入文字的时候,弄一个GridView出来提示,怎么做啊,求教,教教我

解决方案 »

  1.   

    是不是当文本框失去焦点  gridview的值 就会发生改变吗?
    可以写个事件  然后把文本框的值当作查询条件,再去数据库查找到对应的数据,绑定gridview
      

  2.   

    ASP.Net要实现这样的比较麻烦,用Ajax可以实现,要对javascript比较熟才行
      

  3.   

    1.做一个div层,把GRIDVIEW控件放进去,然后用JS控制其显示与隐藏,用CSS定位,这样有一个问题,就是刷新问
    题,可能会把层隐藏掉,你可以在DIV外面,加一个无刷新组件;
    2.使用AJAX,动态去数据,用JS去innerhtml
      

  4.   

    举一个火车票查询的例子
    建一个web service
    在其方法中写
    using System;
    using System.Linq;
    using System.Web;
    using System.Web.Services;
    using System.Web.Services.Protocols;
    using System.Xml.Linq;using BLL;                        //业务逻辑层空间
    using Models;                     //数据模型实体层空间
    using System.Collections.Generic; //泛型集合空间[WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
    // [System.Web.Script.Services.ScriptService]
    public class MyService : System.Web.Services.WebService
    {
        public MyService()
        {        //如果使用设计的组件,请取消注释以下行 
            //InitializeComponent(); 
        }    //[WebMethod]
        //public string HelloWorld() {
        //    return "Hello World";
        //}    [WebMethod(Description = "根据始发站和终点站查询")]
        public List<Tickets> GetTicketsByStartAndEndStation(string startStation, string endStation)
        {
            //调用业务层相关方法,获取数据
            return TicketsManager.GetTicketsByStartAndEndStation(startStation, endStation);
        }    [WebMethod(Description = "根据车次查询")]
        public List<Tickets> GetTicketsByTrainNumber(string trainNumber)
        {
            //调用业务层相关方法,获取数据
            return TicketsManager.GetTicketsByTrainNumber(trainNumber);
        }
        
    }在页面上调用
    public partial class _Default : System.Web.UI.Page 
    {
        protected void Page_Load(object sender, EventArgs e)
        {    }
        /// <summary>
        /// 查询数据
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void lkbFind_Click(object sender, EventArgs e)
        {
            //System.Threading.Thread.Sleep(3000);
            TrainService.Service service = new TrainService.Service();
            GridView1.DataSource = service.GetTicketsByCon(txtStart.Text, txtEnd.Text);
            GridView1.DataBind();       
        }
      

  5.   

    页面代码如下:
    <body>
        <form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <cc1:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server" 
            MinimumPrefixLength="1" 
            CompletionSetCount ="10"
            ServiceMethod="GetTicketsByKey" 
            ServicePath="~/StationQuery.asmx"
            TargetControlID="txtStart">
        </cc1:AutoCompleteExtender>
        <asp:Label ID="Label1" runat="server" Text="出发站:"></asp:Label>
        <asp:TextBox ID="txtStart" runat="server">珠海</asp:TextBox>
        <asp:Label ID="Label2" runat="server" Text="终点站:"></asp:Label>
        <asp:TextBox ID="txtEnd" runat="server">广州</asp:TextBox>
        <asp:LinkButton ID="lkbFind" runat="server" OnClick="lkbFind_Click"><img 
                border="0" src="img/go.gif">查 询</img></asp:LinkButton>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
            <ContentTemplate>
                <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4"
                    ForeColor="#333333" GridLines="None">
                    <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
                    <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
                    <Columns>
                        <asp:BoundField DataField="Number" HeaderText="编 号" />
                        <asp:BoundField DataField="BeginStation" HeaderText="出发站" />
                        <asp:BoundField DataField="EndStation" HeaderText="终点站" />
                        <asp:BoundField DataField="beginTime" DataFormatString="{0:yyyy-MM-dd hh:ss}" HeaderText="出发时间" />
                        <asp:BoundField DataField="endTime" DataFormatString="{0:yyyy-MM-dd hh:ss}" HeaderText="结束时间" />
                        <asp:BoundField DataField="Price" DataFormatString="{0:F2}" HeaderText="价格" />
                    </Columns>
                    <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
                    <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
                    <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
                    <EditRowStyle BackColor="#999999" />
                    <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
                </asp:GridView>
                <asp:UpdateProgress ID="UpdateProgress1" runat="server">
                    <ProgressTemplate>
                        数据正在加载中....
                    </ProgressTemplate>
                </asp:UpdateProgress>
            </ContentTemplate>
            <Triggers>
                <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
            </Triggers>
        </asp:UpdatePanel>
        <asp:Timer ID="Timer1" runat="server" Interval="3000" ontick="Timer1_Tick">
        </asp:Timer>
        </form>
        
    </body>
    希望能帮到你
      

  6.   

    图哪去了。显示Gridview还是下拉列表
      

  7.   

    全文索引吧,否则数据量稍大点,Ajax什么的都可能是浮云了,超时吧
      

  8.   

    和asp.net什么关系,用juqery做一个就行啦
      

  9.   

    如果是普通的asp.net页面,弄个数据绑定控件就可以做到了
    如果说asp.net实现winform的无刷新,那可以用  microsoft Ajax
    http://msdn.microsoft.com/zh-cn/library/bb398874.aspx
    很容易的,根本不是去编写javascript实现无刷新
      

  10.   

    google 搜 jquery 自动完成用什么GridView   不嫌慢嘛
      

  11.   

    texbox的键盘按下事件onkeydown,用js,hander无刷新....添加数据