【问题标题】:uncommitted new row not visible after add rows programmatically datagridview c#以编程方式添加行后未提交的新行不可见datagridview c#
【发布时间】:2021-07-28 13:51:50
【问题描述】:

我将 set datagridview AllowUserToAddRows 设置为 true,但是在我以编程方式添加行后,未提交的新行不可见,即使我专注于最后一行并按 Enter,这里是代码:

OpenFileDialog Open_DLG = new OpenFileDialog();


               Open_DLG.Filter = "Text Files|*.txt";


               if (Open_DLG.ShowDialog() == DialogResult.OK)
               {
                   string[] Lines = File.ReadAllLines(Open_DLG.FileName);
                   int RowIndex = 0;
                   int ColumnIndex = 1;
                   
                   foreach (string Line in Lines)
                   {
                       if (ColumnIndex > DataGRD_Comments.Columns.Count - 1)
                       {
                           RowIndex = DataGRD_Comments.Rows.Add();
                           ColumnIndex = 1;
                       }

                       DataGRD_Comments.Rows[RowIndex].Cells[ColumnIndex].Value = Line;
                       

                       ColumnIndex++;
                   }


                   
               }

我还以编程方式添加列, 我想在以编程方式添加行后保持未提交的新行可见?怎么做? 谢谢

【问题讨论】:

  • if (ColumnIndex > DataGRD_Comments.Columns.Count - 1) 有什么用?也许永远不会超过 1 列?你不应该检查行数而不是列数吗?
  • 我添加行并填充行的所有单元格,然后添加另一行并填充所有单元格...依此类推,如果 (ColumnIndex > DataGRD_Comments.Columns.Count - 1) 到最后一列如此添加新行并开始填充单元格
  • 我有动态列数

标签: c# winforms datagridview


【解决方案1】:

我猜您想将文件中的所有行放入 DataGrid。
我认为您需要类似这个简短示例的内容。

foreach (string Line in Lines)
{
     RowIndex = DataGRD_Comments.Rows.Add();
     DataGRD_Comments.Rows[RowIndex].Cells[ColumnIndex].Value = Line;
}

【讨论】:

  • 我有不止一列,所以我必须像在我的代码中那样增加 RowIndex 和 ColumnIndex
  • 我有动态列数
猜你喜欢
  • 2011-07-11
  • 1970-01-01
  • 2012-04-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-12
相关资源
最近更新 更多