繁体   English   中英

C#中的DataGrid分页(带有下一个和上一个链接)

[英]DataGrid Paging in C# (With Next & Previous Link )

我有一个数据网格,最多可容纳250行,其中的非静态列称为Tab顺序。 现在我只需要5行,其余的行仅在单击下一步按钮等时才可见。

下面是我的代码段,当for循环完成时,它将所有250行数据加载到数据网格中。.我需要在这里实现分页的概念,任何人都可以帮忙指导我正确的方法

提前致谢

代码段:

private void buttonUpload_Click(object sender, EventArgs e)
        {
            LoadFile(pdfFullPath, txtPassword.Text);

            form = document.getDocumentCatalog().getAcroForm();
            java.util.List FieldTypes = form.getFields();

            formFieldCount = FieldTypes.size();
            totalPages = document.getNumberOfPages();

            ///cmbpage --- Code pasted here 
            ArrayList lstPages = new ArrayList();
            ArrayList lstTabs = new ArrayList();
            ArrayList lstNames = new ArrayList();
            ArrayList lstTypes = new ArrayList();

            if (formFieldCount != 0)
            {
               int formField = 1; 
                for (int i = 0; i < formFieldCount; i++)
                {
                    pdfFields = (PDField)form.getFields().get(i);
                    fieldName = pdfFields.getFullyQualifiedName();

                    FieldType type = new FieldType();
                    if (pdfFields is PDTextbox)
                    {
                        type = FieldType.Text;
                        System.String iAsString = Integer.toString(formField);
                        pdfFields.setValue(iAsString);

                    }

                    else if (pdfFields is PDCheckbox)
                    {
                        type = FieldType.CheckBox;
                        System.String iAsString = Integer.toString(formField);
                        checkBoxList.Add(fieldName, formField);
                    }
                    else if (pdfFields is PDRadioCollection)
                    {
                        type = FieldType.RadioButton;
                        System.String iAsString = Integer.toString(formField);
                        radioButtonsList.Add(fieldName, formField);
                    }
                    else if (pdfFields is PDPushButton)
                    {
                        type = FieldType.PushButton;
                        System.String iAsString = Integer.toString(formField);
                    }

                        DataRow newRow = availableFieldsTable.NewRow();              
                        newRow["Field Type"] = type;
                        newRow["Tab Order"] = formField;
                        newRow["Field Name"] = fieldName;

                        availableFieldsTable.Rows.Add(newRow);  --> adds up data in data grid                
                    formField++;
                }

             }

            document.save(dummyPDFPath);
        }

DataGrid将如下所示:

<asp:datagrid id=DataGrid1 runat="server" PageSize="5" GridLines="Vertical"
CellPadding="3" BackColor="White" BorderWidth="1px" BorderStyle="None"
BorderColor="#999999" AutoGenerateColumns="False" AllowSorting="True"
DataSource="" Height="64px" Width="120px" AllowPaging="True"
DataMember="MeetingMinutes">
//whatever here..
</Datagrid>

如果您想浏览下一个和上一个,

<PagerSettings Mode="NextPrevious" NextPageText="Next"
 PreviousPageText="Previous" />

如果要让第一个和最后一个选项卡显示第一页和最后一页,可以使用此选项。

<PagerSettings FirstPageText="First" LastPageText="Last"
 Mode="NextPreviousFirstLast" NextPageText="Next" PreviousPageText="Previous" />

一旦执行PageIndexChanging事件,将为PageIndexChanged分页触发该事件。 在这种情况下,您可以安全地再次绑定网格以访问第二页。 始终最好缓存用于绑定数据源的数据。

受保护的void DataGrid_PageIndexChanging(object sender,DataGridPageEventArgs e){DataGrid.PageIndex = e.NewPageIndex; BindData(); }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM