在实际开发中,我们经常需要在网页上显示大量信息。由于字段较多,常常使用GridView或RadGrid等数据显示控件直接一行显示,效果并不理想(需要拖动滚动条,操作繁琐)。因此,我们可以考虑采用定制模板的方式,使用表格(table)来实现。以下是代码示例:
```html
未缴费单位基本信息表 |
|||||||
审批机关: |
|
监督管理机关: |
```
以上代码展示了如何使用表格作为数据展示的模板。通过在`ItemTemplate`中定义表格结构,并在每个单元格中添加相应的内容,可以实现将多列数据以表格形式展示在网页上。请根据实际需求修改表格中的信息字段,例如添加更多的审批机关和管理监督机构的信息。
```html
```
单位类型: |
|
行业类别: |
|
取水申请日期: |
|
许可证有效期: |
<asp:Label ID="Label9" runat="server" Text='<%# this.GetSubString(Eval("XKZYXQ").ToString()) %>' ForeColor="ButtonShadow"/>
<asp:Label ID="Label10" runat="server" Text='<%# Eval("TXDZ") %>' ForeColor="ButtonShadow"/>
<asp:Label ID="Label11" runat="server" Text='<%# Eval("YZBM") %>' ForeColor="ButtonShadow"/>
<asp:Label ID="Label12" runat="server" Text='<%# Eval("LXR") %>' ForeColor="ButtonShadow"/>
要实现FormView控件的分页,可以在数据源中添加一个名为`PageIndex`和`PageSize`的字段,然后在查询数据库时使用这两个字段进行分页。以下是修改后的代码:
1. 在数据表中添加`PageIndex`和`PageSize`字段:
```csharp
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
VSDataTable1 = new DataTable(); //未缴费单位基本信息
VSDataTable1.Columns.Add("PageIndex", typeof(int));
VSDataTable1.Columns.Add("PageSize", typeof(int));
}
}
```
2. 在查询数据库时使用`PageIndex`和`PageSize`进行分页:
```csharp
protected void btnQuery_Click(object sender, EventArgs e)
{
int pageIndex = Convert.ToInt32(ViewState["wjfdwjbxx"].Rows[0]["PageIndex"]);
int pageSize = Convert.ToInt32(ViewState["wjfdwjbxx"].Rows[0]["PageSize"]);
string strSQL = $"select * from QSXK_DJB1 order by ID OFFSET {(pageIndex - 1) * pageSize} ROWS FETCH NEXT {pageSize} ROWS ONLY";
DM_Water dm = new DM_Water();
DataSet ds = dm.getsql(strSQL);
this.fvBaseInfo.DataSource = ds;
this.fvBaseInfo.DataBind();
ViewState["wjfdwjbxx"] = ds.Tables[0];
}
```
这样,当点击查询按钮时,会根据当前的`PageIndex`和`PageSize`从数据库中获取相应的数据并显示在FormView控件中。
```csharp
protected void fvBaseInfo_PageIndexChanging(object sender, FormViewPageEventArgs e)
{
//分页代码
this.fvBaseInfo.DataSource = VSDataTable1;
this.fvBaseInfo.PageIndex = e.NewPageIndex;
this.fvBaseInfo.DataBind();
}
///
/// 存放在ViewState的DataTable 未缴费单位基本信息表
///
private DataTable VSDataTable1
{
get { return ViewState["wjfdwjbxx"] as DataTable; }
set { ViewState["wjfdwjbxx"] = value; }
}
///
/// 普通的绑定资料
///
private void PageDataBind()
{
fvBaseInfo.DataSource = VSDataTable1;
fvBaseInfo.DataBind();
}
///
/// 绑定资料加换页
///
/// 新页面Index
private void PageDataBind(Int32 getPageIndex)
{
this.fvBaseInfo.DataSource = VSDataTable1;
fvBaseInfo.PageIndex = getPageIndex;
fvBaseInfo.DataBind();
}
```