输出未写入我的代码中的DGV

时间:2010-07-22 17:04:22

标签: c# datagridview

我不确定这里发生了什么 - 我试图调试但是无法解释为什么没有任何内容写入我的datagridview。

有人有任何想法吗?

public partial class CleanPathResults : Form
{
    public CleanPathResults()
    {
        InitializeComponent();
    }

    public void RenameFolder(string folderName)
    {
        string regPattern = (@"[~#&$!%+{}]+");
        string replacement = "";
        List<string> normal = new List<string>();
        Regex regExPattern = new Regex(regPattern);
        dataGridView1.Rows.Clear();
        List<string> cleanDirNames = new List<string>();

        try
        {
            if (regExPattern.IsMatch(folderName))
            {
                string cleanup = regExPattern.Replace(folderName, replacement);
                System.IO.Directory.Move(folderName, cleanup);
                DataGridViewRow grid = new DataGridViewRow();
                grid.CreateCells(dataGridView1);
                grid.Cells[0].Value = folderName;
                grid.Cells[1].Value = cleanup;
                dataGridView1.Rows.Add(grid);
                folderName = cleanup;
                cleanDirNames.Add(cleanup);

            }
            else
            {
                normal.Add(folderName);
            }


        }
        catch(Exception e)
        {

            throw;

        }

        DirectoryInfo di = new DirectoryInfo(folderName);
        DirectoryInfo[] diArr = di.GetDirectories();


        List<string> subdirectories = new List<string>();
        try
        {
            foreach (DirectoryInfo subdir in diArr)
            {
                subdirectories.Add(subdir.ToString());
            }
        }
        catch(Exception e)
        {
            throw;
        }

        try
        {
            foreach (string folder in subdirectories)
            {
                string sF = folder;

                RenameFolder(folderName + "\\" + sF);
            }
        }
        catch(Exception e)
        {
            throw;
        }

  }

    private void button1_Click_1(object sender, EventArgs e)
    {
        Application.Exit();
    }


}

我没有遇到任何错误 - 应用程序执行它应该做的事情(在这种情况下,确保文件夹名称不包含正则表达式中定义的无效字符)...但是这只是输出问题没有在dgv上显示。

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:1)

可能与正则表达式不匹配...这样就不会创建任何行并将其添加到dataGridView1。

你调试了代码吗?尝试在regExPattern.IsMatch之后的if语句中插入断点。看看调试器是否停在那里。这样就可以断言正在创建一个新行。

如果确实如此,我会尽力帮助你。

答案 1 :(得分:0)

实际上没关系。想通了b / c我的方法一直在调用自己,datagridview1.Rows.Clear()会清除所有内容,每当方法调用自己时。因此没有输出。感谢Leniel的所有帮助!