- 浏览: 234405 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
njmnjx:
humors221 写道这篇文章还不错,不过有一个小问题,就是 ...
html判断页面加载完毕 -
donkey526485268:
httpModules应用 -
humors221:
这篇文章还不错,不过有一个小问题,就是setInterval( ...
html判断页面加载完毕 -
小昭WBCA:
[/ code]
jquery判断子元素是否存在
使用DataTable后分页有两种形式:
一、使用自定义的分页控件。显示多少数据就从数据库取多少数据(使用分页sql语句)。并且样式好控制。
例句如下:
二、使用GridVeiw自己的分页,这时如果有关键字过滤搜索的话,在写sql语句的时候不要使用上面一中提到的sql语句。必须要将符合条件的数据全部给GridView。否则分页链接不显示,因为数据绑定的只是当前页的内容。
例句:
三、简例
aspx页面
cs内容
以上只是一个小问题,但工作遇到了记录一下。
一、使用自定义的分页控件。显示多少数据就从数据库取多少数据(使用分页sql语句)。并且样式好控制。
例句如下:
select top 页容量 * from 表名 where 条件 and id not in (select top (当前页-1)*页容量 from 表名 where 条件 order by 排序字段 排序方向) order by 排序字段 排序方向
二、使用GridVeiw自己的分页,这时如果有关键字过滤搜索的话,在写sql语句的时候不要使用上面一中提到的sql语句。必须要将符合条件的数据全部给GridView。否则分页链接不显示,因为数据绑定的只是当前页的内容。
例句:
select * from 表名 where 条件 order by 排序字段 排序方向
三、简例
aspx页面
<asp:GridView ID="gvFieldData" runat="server" AutoGenerateColumns="False" DataKeyNames="obj_id" AllowSorting="True" OnSorting="gvTableData_Sorting" PageSize="30" OnPageIndexChanging="gvTableData_PageIndexChanging"AllowPaging="true"> <Columns> <asp:TemplateField HeaderText="详细说明" SortExpression="fld_mem" HeaderStyle-CssClass="headerCss"> <ItemTemplate> <%#StringOP.GetRationLenContent(Eval("fld_mem"), 10)%> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="查看" HeaderStyle-CssClass="headerCss"> <ItemTemplate> <div runat="server" id="editDiv"> <a href='javascript:edit(<%#Eval("fld_id")%>,<%#Eval("obj_id")%>)'>查看</a> </div> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView>
cs内容
public DataTable dt { get { return ViewState["dt"] == null ? null : (DataTable)ViewState["dt"]; } set { ViewState["dt"] = value; } } if (!IsPostBack) { ViewState["sortColumn"] = "fld_name"; ViewState["sortDirection"] = "asc"; }
//列排序 protected void gvTableData_Sorting(object sender, GridViewSortEventArgs e) { gvFieldData.EditIndex = -1; if (ViewState["sortColumn"].ToString() == e.SortExpression.ToString()) { if ("ASC" == ViewState["sortDirection"].ToString()) { ViewState["sortDirection"] = "DESC"; } else { ViewState["sortDirection"] = "ASC"; } } else { ViewState["sortColumn"] = e.SortExpression.ToString(); ViewState["sortDirection"] = "ASC"; } string orderString = ""; orderString = ViewState["sortColumn"].ToString() + " " + ViewState["sortDirection"].ToString(); GetFieldInfo(false, orderString); //此为自定义数据绑定方法 }
//翻页 protected void gvTableData_PageIndexChanging(object sender, GridViewPageEventArgs e) { gvFieldData.PageIndex = e.NewPageIndex; string orderString = ""; orderString = ViewState["sortColumn"].ToString() + " " + ViewState["sortDirection"].ToString(); PaginationFunciton(e.NewPageIndex + 1, 30, orderString, txtSearchKey.Text); //自定义按关键字取数据方法 }
private void PaginationFunciton(int pageIndex,int pageNum,string orderStr,string keyStr) { string sql = "select a.*,b.obj_id,b.obj_name,c.mc from zd_yw_field as a inner join zd_yw_object as b on a.obj_id=b.obj_id inner join zd_sys_bmk as c on a.fld_ywlb = c.bm where c.lb ='4' and (fld_name like '%" + keyStr + "%' or fld_mc like '%" + keyStr + "%' or fld_mem like '%" + keyStr + "%')"; DataTable d = SqlHelper.ExecuteQuery(sql); gvFieldData.DataSource = d; gvFieldData.DataBind(); GridViewOP.GetNullTip(d, gvFieldData); }
protected void GetFieldInfo(bool isSearch, string orderString) { if (string.IsNullOrEmpty(orderString)) orderString = "fld_name"; string sql = "select a.*,b.obj_id,b.obj_name,c.mc from zd_yw_field as a inner join zd_yw_object as b on a.obj_id=b.obj_id inner join zd_sys_bmk as c on a.fld_ywlb = c.bm where c.lb ='4' order by " + orderString; dt = SqlHelper.ExecuteQuery(sql); if (isSearch) { DataView dv = dt.DefaultView; dv.RowFilter = "fld_name like '%" + KeyConent + "%' or fld_mc like '%" + KeyConent + "%' or fld_mem like '%" + KeyConent + "%'"; dt = dv.ToTable(); } gvFieldData.DataSource = dt; gvFieldData.DataBind(); GridViewOP.GetNullTip(dt, gvFieldData); //当无数据时的提示 }
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI.WebControls; using System.Data; namespace Common { /// <summary> /// 文件名: GridViewOP.cs /// 描述: 列表控件操作类 /// 版权: 北京****技术有限公司 /// 作者: **** /// 创建时间: 2010-2-25 /// 修改者: ****** /// 修改时间:****** /// 修改描述:****** /// </summary> public class GridViewOP { /// <summary> /// GridView无数据时友好提示 /// </summary> /// <param name="dt">DatTable实例</param> /// <param name="gv">操作GridView对象</param> public static void GetNullTip(DataTable dt, GridView gv) { if (dt.Rows.Count == 0) { dt.Rows.Add(dt.NewRow()); gv.DataSource = dt; gv.DataBind(); int columnCount = gv.Rows[0].Cells.Count; gv.Rows[0].Cells.Clear(); gv.Rows[0].Cells.Add(new TableCell()); gv.Rows[0].Cells[0].ColumnSpan = columnCount; gv.Rows[0].Cells[0].Text = "无内容"; gv.RowStyle.HorizontalAlign = System.Web.UI.WebControls.HorizontalAlign.Center; } } /// <summary> /// DataList无数据时友好提示 /// </summary> /// <param name="dt">DatTable实例</param> /// <param name="dl">操作DataList对象</param> public static void GetNullTip(DataTable dt ,DataList dl) { if (dt.Rows.Count == 0) { dt.Rows.Add(dt.NewRow()); dl.DataSource = dt; dl.DataBind(); Label l = new Label(); l.Text = "对不起,没有您所查询的产品!"; dl.Items[0].Controls.Clear(); dl.Items[0].Controls.Add(l); } } } }
以上只是一个小问题,但工作遇到了记录一下。
发表评论
-
保存到桌面 功能
2013-11-19 15:34 961一、准备一个icon图标,图片类型必须是icon类型,不能通过 ... -
单点登录两种实现方案
2013-10-16 13:52 891说是两种其内在实质还是一个思路。 一种是使用js,另一种是使用 ... -
美化File控件-图片按键上传文件
2013-07-16 21:13 2474效果图: 一、显示样式 上传控件显示为一个图片 点击 ... -
dll项目添加服务引用
2011-07-24 16:17 1311当创建一个dll项目中添加了服务引用,但引用这个dll文件者又 ... -
邮件打开统计
2011-07-24 16:08 2833统计邮件是否被打开(或者打开次数) 1、在邮件的最下面(任意 ... -
匹配邮箱
2011-07-24 11:59 1018匹配邮箱 (?m)^((([^\"\s]+)|(&q ... -
ListBox应用
2010-11-13 12:00 1026using System; using System.C ... -
rss 订阅
2010-11-11 20:50 1175//aspx页面内容 <%@ Page Langu ... -
枚举操作类
2010-10-27 20:25 892using System; using System.C ... -
自动执行服务程序 两法
2010-10-10 13:17 1134创建服务程序,利用此程序完成自动执行的工作。两种方法: 首先创 ... -
细边框Table制作 页面居中
2010-07-27 21:08 2607在页面布局时经常会使用到table,但如果使其bo ... -
通过泛型插入(更新)实体数据
2010-07-25 08:56 2422/// <summary> /// 通过泛型 ... -
DataReader 转换成实体(或List)
2010-07-25 08:39 8492/// <summary> /// Data ... -
自定义控件
2010-07-17 22:06 1067最近做项目见到别人写的一个分页控件不错,记录一下关于路径的问题 ... -
自定义DateTable样例
2010-07-17 20:05 1003记录流程备查 #region 创建自定义DataTabl ... -
发送邮件的两种方式
2010-07-11 14:44 1226一、实现代码如下: using System; using ... -
提示信息 换行 alert(); titile
2010-03-17 14:13 1847标签的titile属性内容文本换行可使用 代码 ... -
SQL to Linq 翻译软件 Linqer
2010-03-06 10:28 2920先前我使用的是LINQPad,这个软件是一个编写Linq语句进 ... -
母板使用后样式问题
2010-03-03 20:07 950在单一aspx页面中操作没有什么问题,但要处理每个页面的登陆权 ... -
JQueryAPI1.4 中文版
2010-02-27 10:37 871API: 最新JQueryAPI1.4 中文版 大家分享--- ...
相关推荐
它可以自动根据数据源生成列,并提供排序、分页、选择等功能。在XAML中,你可以通过`<DataGrid>`标签来声明和配置DataGrid。 接下来,我们讨论如何创建和填充一个DataTable。DataTable属于System.Data命名空间,它...
基于第一版的进一步优化 ... 对WinForm下的DataGridView控件进行扩展,实现其分页、新增、删除...3. 数据源为DataTable类型的自动分页的可排序数据绑定控件; 4. 数据源为DataTable类型的手动分页的可排序数据绑定控件。
它可以连接到各种数据源,并通过设置BindingSource.DataSource属性为数据源(如DataTable或List对象),并将BindingSource.DataMember属性设置为表名或列表字段,就可以将数据绑定到特定的UI控件。 在实际应用中,...
下面将详细介绍Winform数据源绑定的分页实现及其相关知识点。 1. 数据源绑定基础 数据源绑定是将数据源(如数据库、数组或列表)与Winform控件关联的过程。这使得控件能动态显示和操作数据。常见的数据源有...
在C#编程中,数据源绑定是一项核心技能,特别是在开发数据驱动的应用程序时。这个主题主要涉及如何将数据库中的数据与应用程序的用户界面元素(如控件)进行连接,以便实时展示、操作和更新数据。这里我们将深入探讨...
如果数据源发生变化或者没有正确绑定到DataGrid上,也可能导致分页功能失效。 - 在`DataGrid1_DataBindComplete`事件中可以检查当前页面的索引是否与实际一致。 5. **其他因素**: - 检查是否有其他控件或脚本...
你可以将各种数据源(如数据库表、列表、数组)绑定到此属性,使得GridControl能展示和操作这些数据。 3. **DataMember**:在绑定到数据集或数据表时,此属性用于指定要显示的表名或数据关系名。 4. **Columns**:...
对WinForm下的DataGridView控件进行扩展,实现其分页功能,使用方便、简单,该控件适用于大部分的业务逻辑...3. 数据源为DataTable类型的自动分页的数据绑定控件; 4. 数据源为DataTable类型的手动分页的数据绑定控件。
1. **数据源**:通常,我们会创建一个可观察集合(ObservableCollection),用作DataGrid的数据源。在MVVM模式下,这个集合应位于ViewModel中,并通过数据绑定连接到View。 2. **分页逻辑**:ViewModel需要包含分页...
数据绑定是.NET框架中的核心概念,允许UI元素与数据源动态关联。在DevExpress GridControl中,数据绑定使你可以将数据集、实体框架模型或其他数据结构映射到控件的行和列,实现数据的实时更新。 2. **数据源选择**...
当我们谈论“C# datagridview 绑定数据后绑定标题”,这意味着我们需要将数据源与`DataGridView`关联,并自定义列头显示。 首先,让我们了解如何绑定数据到`DataGridView`。数据可以来自各种来源,例如数据库、数组...
数据绑定是将数据源(如数据库、数组或集合)与UI元素(如DataGrid)关联的过程。在ASP.NET中,DataGrid的数据绑定主要通过两种方式:声明式和编程式。 - **声明式绑定**:在ASP.NET页面的HTML标记中直接定义数据源...
将DataGridView拖放到Form上,然后在“数据”选项卡中,通过“数据源”下拉框选择之前配置的数据源,系统会自动将选定的表或视图绑定到该控件。 三、数据绑定过程 1. **设置数据源**:在“数据”窗口中,展开数据...
`DataGridView`可以通过编程方式动态添加行,或者绑定到数据源(如DataTable、BindingSource或自定义数据集)自动显示数据。在分页功能中,我们通常会选择绑定到数据源,这样可以更方便地控制数据的加载和显示。 1....
它可以与JavaBean或任何其他数据源绑定,动态地渲染表格行。DataTable提供了一种灵活的方式来呈现和操作数据集,可以处理各种复杂的用户交互。 **2. 使用DataTable** 在JSF页面中,DataTable通常通过`<h:datatable>...
3. **绑定数据到GridView**:在GridView的DataSource属性中设置你的数据源(例如,DataTable),然后调用DataBind方法。代码可能看起来像这样: ``` GridView1.DataSource = yourDataTable; GridView1.DataBind()...
- 复杂数据绑定适用于列表控件,如 GridView,它能绑定到一个包含多条记录的数据集合,如 DataTable,并且支持排序、分页和编辑等功能。 9.1.3 数据绑定控件概览中提到了 GridView、DetailsView 和 FormView 这三种...
1. **设置数据源**:首先,你需要一个数据源,例如一个`DataTable`或者从数据库查询得到的数据集`DataSet`。你可以通过`BindingSource.DataSource`属性设置这个数据源。 2. **添加BindingSource到Form**:在设计时...
数据绑定是指将控件(如ComboBox)与数据源(如数据库表、DataTable等)之间建立一种映射关系。当数据源发生变化时,绑定的控件会自动更新显示内容。这种机制极大地简化了数据处理过程,提高了程序的响应速度和可...
在C#中,你可以使用`BindingSource`对象作为数据中介,将数据源(如DataSet或DataTable)与GridView关联起来。例如: ```csharp DataSet dataSet = new DataSet(); // 加载数据到dataSet... BindingSource binding...