加载数据库表全部数据到GridView控件,但通过查询条件在GridView显示一行或几行数据...

拉一个GridView控件在前台设计,设置其所需要的全部属性。而后操作数据库,连接,写查询数据库表数据语句,绑定数据,显示数据,这些都是已经司空见惯的步骤了,可以说没什么可说的。这些东西,只要是学过开发的,我想没有不会的。今天我所讲的是,不仅在GridView控件里加载全部数据,一旦有了查询条件,查询出来的数据还显示在这个GridView中。意思就是下面的这两张图片:

这张图片就是加载数据库表数据,显示所有的数据。一旦数据量大了,我们不好翻阅,就有了查询功能。其实,所谓的查询功能不过是查询语句的where条件,没有查询条件的时候不加载where条件,有查询条件的时候就以查询条件查询出来的数据显示。如下图:

 大致意思,就如上述,一个GridView控件显示数据,一个查询条件输入框以及触发查询条件的按钮。有必要在这里说一下,请看到第一个图中的TextBox输入框,框体里有一个提示文本“按设备名称查询...”,有两点提示:

   1)、当鼠标没有放在框体上时,框体有显示“按设备名称查询...”的文本字样,如果要输入查询条件的时候,框体里面的那个文本就会消失,再移开鼠标时又会显示其文本。实现这一功能要在cs后台代码Page_Load()方法中加载两句代码,

   this.txtSelect.Attributes.Add("onfocus", "if (this.value=='按设备名称查询...') this.value=''");
   this.txtSelect.Attributes.Add("onblur", "if (this.value=='') this.value='按设备名称查询...'");
   2)、在输入查询条件的时候,要判断框体内的值,所以一定得考虑它本身固有的文本'按设备名称查询...',就是下面的这个if判断代码,后面会有详细提及。

   if (this.txtSelect.Text.Trim() != "" && this.txtSelect.Text != "按设备名称查询...")

前台界面的设计就不在详加介绍,主要说说后台代码的实现。。。

首先,就是写数据库帮助类,链接数据库,操作数据库方法,如果您需要请到下面的链接下载(访问密码是:be3e)

   http://yunpan.cn/QePezBE6VC5sF 

其次,我用到是StringBuilder这个可变的字符串,用它来分割查询语句,(需要添加引用:using System.Text;)。查询数据,返回dataset数据缓存。

        /// <summary>
        /// 在GridView中绑定设备信息表的数据(传参数)
        /// </summary>
        public DataSet GetList(string strWhere)
        {
            DataSet dset = null;//操作数据库结果
            string sql = "";//SQL语句

            try
            {
                //打开数据库
                helper.Connect();
                StringBuilder strSql = new StringBuilder();
                //查询xxt_registration表记录
                sql = "select r.id,r.name,d.name tname,r.ip,r.port,r.time,r.location,r.installtime,d.misc from xxt_registration r full outer join xxt_devicetype d on r.type=d.id ";
                strSql.Append(sql);
                if (strWhere.Trim() != "")
                {
                    strSql.Append(" where " + strWhere);
                }
                // 执行查询命令
                dset = helper.Query(strSql.ToString());
            }
            catch (Exception E)
            {
                E.Message.ToString();
            }
            finally
            {
                //关闭数据库
                helper.Close_Up();
            }
            return dset;
        }

紧接着写一个绑定的方法,用于判断是否需要查询条件的使用。

        /// <summary>
        /// 在GridView中绑定xxt_registration表的数据
        /// </summary>
        public void BindData_Registration()
        {
            DataSet dset;
            StringBuilder strWhere = new StringBuilder();
            if (this.txtSelect.Text.Trim() != "" && this.txtSelect.Text != "按设备名称查询...")
            {
                strWhere.AppendFormat("r.name like '{0}'", this.txtSelect.Text.Trim());
            }
            dset = GetList(strWhere.ToString());
            GridView.DataSource = dset;
            GridView.DataBind();
        }

上面的代码无需解释,想必都看的懂。

最后,将绑定方法加载到Page_Load()以及查询按钮的Click事件中,大致的功能就是这样。。。

也许有更多的办法实现,这只是我的一家之言,仅供参考!!!

转载于:https://www.cnblogs.com/litao4047/archive/2013/06/14/3135734.html

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我会尽力回答你的问题。 首,您需要在ASP.NET应用程序中创建一个webform页面,并将SqlDataSource控件到该页面中,以便连接到数据库并获取中的数据记录。您可以使用以下代码示例来配置SqlDataSource控件: ``` <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="YourConnectionString" SelectCommand="SELECT * FROM YourTable"></asp:SqlDataSource> ``` 请确保将“YourConnectionString”替换为您的数据库连接字符串,并将“YourTable”替换为您要显示数据名。 接下来,您需要将GridView控件到该页面中,并将SqlDataSource控件GridView控件相关联。您可以使用以下代码示例来配置GridView控件: ``` <asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1" AutoGenerateColumns="false" AllowPaging="true" AllowSorting="true" OnRowEditing="GridView1_RowEditing" OnRowUpdating="GridView1_RowUpdating" OnRowCancelingEdit="GridView1_RowCancelingEdit" OnRowDeleting="GridView1_RowDeleting"> <Columns> <asp:BoundField DataField="YourField1" HeaderText="Field1" /> <asp:BoundField DataField="YourField2" HeaderText="Field2" /> <asp:CommandField ShowEditButton="true" ShowDeleteButton="true" /> </Columns> </asp:GridView> ``` 请确保将“YourField1”和“YourField2”替换为您要显示字段,并将事件处理程序添GridView控件中以实现编辑、更新、取消和删除功能。 最后,您需要在代码中实现事件处理程序来处理GridView控件中的编辑、更新、取消和删除操作。以下是一个简单的示例: ``` protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) { GridView1.EditIndex = e.NewEditIndex; } protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) { // Code to update record in database GridView1.EditIndex = -1; } protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) { GridView1.EditIndex = -1; } protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) { // Code to delete record from database GridView1.EditIndex = -1; } ``` 请注意,您需要在删除操作中添确认提示,以确保用户想要删除该记录。您可以使用JavaScript来实现此功能。以下是一个简单的示例: ``` protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) { if (confirm("Are you sure you want to delete this record?")) { // Code to delete record from database GridView1.EditIndex = -1; } } ``` 这样,您就可以创建一个带有排序、分页、编辑和删除功能的ASP.NET程序,使用SqlDataSource控件连接到数据库,使用GridView控件显示中的数据记录。希望这可以回答您的问题!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值