【问题标题】:HOW TO : C# split string to multidimensional array for filling it to datagridview如何:C# 将字符串拆分为多维数组以将其填充到 datagridview
【发布时间】:2021-09-30 08:12:36
【问题描述】:

我必须从具有分隔符“~”的字符串填充我的datagridview,然后是“|”每一行的列

我的 datagridview 列:here

下面的示例字符串

string ShoppingDetail = "Gas LPG 5Kg|6 pcs|30.000 x 6|2.000 x 6|168.000~Gas LPG 12Kg|10 pcs|40.000 x 10|2.000 x 10|380.000";

我想从上面的字符串中填充datagridview

我的代码

                var data = ShoppingDetail.Split('~').Select(x => x.Split('|')).ToArray();
                int height = data.GetLength(0);
                int width = data.GetLength(1);

                //this.DtDetail.ColumnCount = width;

                for (int r = 0; r < height; r++)
                {
                    DataGridViewRow row = new DataGridViewRow();
                    row.CreateCells(this.DataGridDetails);

                    for (int c = 0; c < width; c++)
                    {
                        row.Cells[c].Value = data[r][c];
                    }

                    this.DataGridDetails.Rows.Add(row);
                }

【问题讨论】:

  • Gridview 确实是为绑定外部数据源而设计的,为什么不使用 Table 控件呢?
  • 对不起,我忘了描述这是否是一个 Windows 窗体应用程序。这是 Windows 窗体应用程序,所以没有表格控件

标签: c# multidimensional-array split datagridview


【解决方案1】:

我会这样做,恕我直言,无需复杂化:

var data = ShoppingDetail.Split("~");
            for (int r = 0; r < data.Length; r++)
            {
                DataGridViewRow row = new DataGridViewRow();
                row.CreateCells(this.DataGridDetails);
                var cells = data[r].Split("|");
                for (int c = 0; c < cells.Length; c++)
                {
                    row.Cells[c].Value = cells[c];
                }

                this.DataGridDetails.Rows.Add(row);
            }

【讨论】:

  • 我稍微改了一下。感谢它的工作!
  • @MuhammadAufaRijal 如果您认为有帮助,可以将我的答案标记为“答案”:)
猜你喜欢
  • 2020-01-30
  • 1970-01-01
  • 2022-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-15
  • 1970-01-01
  • 2017-06-29
相关资源
最近更新 更多