将MatchCollection插入datagridview c#

时间:2011-08-02 04:25:15

标签: c# winforms datagrid datagridview

我有一个datagridview,它有2列和一个MatchCollection,我将用它来填充datagrid。我如何在第一列的datagrid中插入matchcollection中的第一个匹配,然后为第二列插入matchcollection的第二个值。然后它将创建一个新行并重新开始。

没有数据绑定到此gridview,我需要确保插入到datagrid中的matchCollection不会覆盖表中的任何其他内容。我怎样才能做到这一点?

这是在表单应用程序而非asp.net

中完成的
 while (!sr.EndOfStream)
                    {
                        string line = sr.ReadLine();
                        line = line.Trim();
                        if (line.StartsWith("addTestingPageContentText"))
                        {
                            string temp;
                            string pattern = "\"([^\"]+)\"";
                            Regex r = new Regex(pattern);
                            MatchCollection regs = r.Matches(line);

                            foreach (Match reg in regs)
                            {

                                temp = reg.ToString();
                                temp = temp.Replace("\"", "");

                               int rowCount = contentTable_grd.Rows.Count - 1;


                        if (contentTable_grd.Rows[rowCount].Cells[0].Value == null)
                            contentTable_grd.Rows[rowCount].Cells[0].Value = temp;
                        else
                            contentTable_grd.Rows[rowCount].Cells[1].Value = temp;


                        contentTable_grd.Rows.Add();

                            }
                        }
                    }         

2 个答案:

答案 0 :(得分:1)

试试这个

while (!sr.EndOfStream)
            {
                string line = sr.ReadLine();
                line = line.Trim();
                if (line.StartsWith("addTestingPageContentText"))
                {
                    string temp;
                    string pattern = "\"([^\"]+)\"";
                    Regex r = new Regex(pattern);
                    MatchCollection regs = r.Matches(line);


                    object[] array1 = new object[2];                    



                    foreach (Match reg in regs)
                    {

                        temp = reg.ToString();
                        temp = temp.Replace("\"", "");

                        if (array1[0] == null)
                            array1[0] = temp;
                        else
                            array1[1] = temp;
                    }

                    if (regs.Count > 0)
                        contentTable_grd.Rows.Add(array1);
                }
            }

答案 1 :(得分:0)

您可以创建自定义gridview列并从DataGridViewTextBoxCell继承。

Host Controls in Windows Forms DataGridView Cells