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

问题描述 投票:0回答:1

我有一个数据网格,最多可容纳 250 行,其中有称为制表符顺序的独特列。现在我需要 只有 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);
        }
c# pagination datagrid
1个回答
0
投票

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 分页。在这种情况下,您可以安全地再次绑定网格以访问第二页。最好缓存用于绑定数据源的数据。

protected void DataGrid_PageIndexChanging(对象发送者,DataGridPageEventArgs e) { DataGrid.PageIndex = e.NewPageIndex; 绑定数据(); }

© www.soinside.com 2019 - 2024. All rights reserved.