功能应该适用于所有页面,但它只适用于一个地方

时间:2016-01-11 04:27:32

标签: c#

我有一些功能,例如添加列,合并列,拆分列以及表单中的查找和替换选项。

我有一个要求,我需要读取文件并在datagridview中显示。 注意:一个文件包含1000行,但我必须在加载时只显示100行,如果我们要查看下一个记录,我们点击下一步按钮(它会加载接下来的100行)。 我完成了这项要求并且工作正常。

现在的问题是如果我使用任何功能,例如合并2列,它合并2列并在第一页中仅为100行提供结果而不是整个1000行。

任何人都可以解决我的问题吗? 下面是我为合并2列而粘贴的代码:

FORM1:

private void btnMerge_Click(object sender, EventArgs e)
{
    frmMerge fs = new frmMerge(dataGridView1);
    fs.cmbColumn1.DataSource = cmbList;

    for (int i = 0; i <= cmbList.Count - 1; i++)
    {
        fs.cmbColumn2.Items.Add(cmbList[i]);
    }
    fs.ShowDialog();
}

Browse button code (where i select the file and read it into datagridview):

private void button1_Click(object sender, EventArgs e)
{
    OpenFileDialog openFileDialog1 = new OpenFileDialog();

    openFileDialog1.InitialDirectory = "Desktop";
    openFileDialog1.Filter = "dat files (*.DAT)|*.DAT|All files (*.*)|*.*";
    openFileDialog1.FilterIndex = 2;
    openFileDialog1.RestoreDirectory = true;

    if (openFileDialog1.ShowDialog() == DialogResult.OK)
    {
        try
        {
            FileName = openFileDialog1.FileName;
            string text = System.IO.File.ReadAllText(FileName);
        datfile = text.Split(new string[] { "\r\n", "\n" }, StringSplitOptions.None);
            //Added on 2015-12-02
            maxRec = datfile.Length - 1;
            PageCount = maxRec / pageSize;
            LoadPage(MyFOrmat);
        }
        catch (Exception ex)
        {
            MessageBox.Show("Error: Could not read file from disk. Original error: " + ex.Message);
        }
    }

0 个答案:

没有答案