利用隐藏按钮和ajax控件实现aspxGridviewajax效果

利用隐藏按钮和ajax控件实现aspxGridviewajax效果

这个示例是实现查询用户时输入查询条件下面的aspxGridview控件自动显示相匹配的结果,效果与ajax效果相同:

如何实现呢?

第一步,首先在页面创建基本的控件,代码如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="CustomerQuery.aspx.cs" Inherits="CustomerQuery" %>

<%@ Register Assembly="DevExpress.Web.ASPxGridView.v10.1, Version=10.1.7.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a"

    Namespace="DevExpress.Web.ASPxGridView" TagPrefix="dx" %>

<%@ Register assembly="DevExpress.Web.ASPxEditors.v10.1, Version=10.1.7.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" namespace="DevExpress.Web.ASPxEditors" tagprefix="dx" %>

<!--Á¡é¨¢使º1®?Ì?̨²¨y¤?Á¨¦t-->

<!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">

<title></title>

    <script type="text/javascript">

        function cha() {

            document.getElementById("Button3").click();

        }

    </script>

 

</head>

<body>

    <form id="form1" runat="server">

         <div>

            <table width="100%">

                        <tr>

                            <td>

                                <asp:DropDownList ID="DropDownList1" runat="server" Width="165px">

                                    <asp:ListItem>¡ä°?Á??</asp:ListItem>

                                    <asp:ListItem>????</asp:ListItem>

                                    <asp:ListItem>¨°?</asp:ListItem>

                                    <asp:ListItem>Ì?¡ã??</asp:ListItem>

                                </asp:DropDownList>

                            </td>

                            <td>

                                <input id="TextBox1" type="text" runat="server" onkeyup="cha();" />

                            </td>

                            <td>

                                <div style="display:none">

                                    <asp:Button ID="Button3" runat="server" onclick="Button3_Click" Text="¨¦¡¥" />

                            </div>

                                <input id="Button1" type="button" value="选择" onclick="btn_Click();" />              

                            </td>

                        </tr>

            </table>

         </div>

         <div>

             <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>

             <asp:UpdatePanel ID="UpdatePanel1" runat="server">

                <ContentTemplate>

                <dx:ASPxGridView ID="grid" runat="server" AutoGenerateColumns="False" ClientInstanceName="grid" KeyFieldName="customerID"  Width="100%">

                    <Columns>

                        <dx:GridViewCommandColumn ShowSelectCheckbox="True" Caption="??" VisibleIndex="0"></dx:GridViewCommandColumn>

                        <dx:GridViewDataColumn Caption="¡ä°??" FieldName="easycode">

                        </dx:GridViewDataColumn>

                        <dx:GridViewDataColumn Caption="¨ª¡ì?" FieldName="customerName">

                        </dx:GridViewDataColumn>

                        <dx:GridViewDataColumn Caption="¨°?" FieldName="shortName">

                        </dx:GridViewDataColumn>

                        <dx:GridViewDataColumn Caption="?¨ª?®¨°" FieldName="area">

                        </dx:GridViewDataColumn>

                        <dx:GridViewDataColumn Caption="¢a¦Ì¨?" FieldName="contact">

                        </dx:GridViewDataColumn>

                        <dx:GridViewDataColumn Caption="Ì?¡ã" FieldName="tel">

                        </dx:GridViewDataColumn>

                        <dx:GridViewDataColumn FieldName="customerTypeID" Visible="false">

                        </dx:GridViewDataColumn>

                        <dx:GridViewDataColumn FieldName="settleTypeID" Visible="false">

                        </dx:GridViewDataColumn>

                        <dx:GridViewDataColumn FieldName="settleDays" Visible="false">

                        </dx:GridViewDataColumn>

                        <dx:GridViewDataColumn FieldName="addr" Visible="false">

                        </dx:GridViewDataColumn>

                        <dx:GridViewDataColumn FieldName="mobileNo" Visible="false">

                        </dx:GridViewDataColumn>

                        <dx:GridViewDataColumn FieldName="InvoiceAddr" Visible="false">

                        </dx:GridViewDataColumn>

                        <dx:GridViewDataColumn FieldName="bankNo" Visible="false">

                        </dx:GridViewDataColumn>

                        <dx:GridViewDataColumn FieldName="dutyNo" Visible="false">

                        </dx:GridViewDataColumn>

                        <dx:GridViewDataColumn FieldName="isSupplier" Visible="false">

                        </dx:GridViewDataColumn>

                        <dx:GridViewDataColumn FieldName="inUsed" Visible="false">

                        </dx:GridViewDataColumn>

                        <dx:GridViewDataColumn FieldName="customerID" Visible="false">

                        </dx:GridViewDataColumn>

                        <dx:GridViewDataColumn FieldName="invoiceTypeID" Visible="false">

                        </dx:GridViewDataColumn>                      

                   </Columns>

                    <SettingsPager Mode="ShowAllRecords">

                    </SettingsPager>

                        <ClientSideEvents SelectionChanged="grid_SelectionChanged" />

                </dx:ASPxGridView>

                </ContentTemplate>

                <Triggers>

                <asp:AsyncPostBackTrigger ControlID="Button3" EventName="Click" />

              </Triggers>

             </asp:UpdatePanel>

         </div>

    </form>

</body>

</html>

第二步,在aspxGridview控件放到一个updatePanel中,代码上面已给出;

第三步,在页面上放一个div,设置display属性为none,即隐藏它,然后在这个div中放一个按钮;

第四步,第按钮事件中,查找数据,代码如下:

        //D??À?¨°Ì?¦Ìº?¤?a?ê?a?¨°?gridviewÌ?ºyY㨮¡§a?

        if (TextBox1.Value=="")

        {

            grid.DataSource ="";

            grid.DataBind();

        }

        else

        {

            //̡®?¤¨¤D¤?¤¡§?Ì?¨¦¡¥ºyYÌ?Á?¤?ä?

            string str = bottledisp.SerachCustomer(DropDownList1.SelectedItem.Text, TextBox1.Value);

 

            //¨´Y¦¨²¨¦Ì?sqlÁ?¤?ä?̡®?¤¨¤D¤?¤¡§¡äDä?ä¡é过程返回结果集绑ã定到Ìgridview

            grid.DataSource = bottledisp.CustomerQuery(str);

            grid.DataBind();

        }

我的生成sql查询语句和查询数据库的操作都放在类中,代码在此就不给出了,各人数据库不同。

第五步,在文本框的onkeyup事件中加入一个js函数,在文本框中输入数据时触发,代码如下:

  <input id="TextBox1" type="text" runat="server" onkeyup="cha();" />

Js的代码如下:

    <script type="text/javascript">

        function cha() {

            document.getElementById("Button3").click();

        }

    </script>

这个js很简单就是调用放在隐藏div中的按钮的click事件进行查询数据库操作

好了,大功告成,试试结果吧,是不是和ajax效果一样?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值