Member 12857358 Ответов: 2

Как вызвать этот метод и что передать в этом методе


public DataTable Merge(DataTable[] dataTables)
        {
            List<int> oList = new List<int>();
            DataTable mergedDataTable = new DataTable();
            foreach (DataTable dt in dataTables)
            {
                oList.Add(dt.Rows.Count);
                foreach (DataColumn dc in dt.Columns)
                {
                    mergedDataTable.Columns.Add(dt.TableName + "-" + dc.ColumnName, dc.DataType);
                }
                //mergedDataTable.Columns.Add(dt.TableName + "-" + "Space");
            }
            int temp = 0;
            for (int m = 0; m < oList.Count; m++)
            {
                for (int n = 0; n < oList.Count - 1; n++)
                {
                    if (oList[n] > oList[n + 1])
                    {
                        temp = oList[n + 1];
                        oList[n + 1] = oList[n];
                        oList[n] = temp;
                    }
                }
            }
            int maxRow = oList[oList.Count - 1];
            for (int o = 0; o < maxRow; o++)
            {
                DataRow newRow = mergedDataTable.NewRow();
                int mergedDataTableColumn = 0;
                foreach (DataTable dt in dataTables)
                {
                    if (dt.Rows.Count > o)
                    {
                        for (int k = 0; k < dt.Columns.Count; k++)
                        {
                            newRow[mergedDataTableColumn] = dt.Rows[o][k];
                            mergedDataTableColumn++;
                        }
                    }
                    else
                    {
                        for (int k = 0; k < dt.Columns.Count; k++)
                        {
                            newRow[mergedDataTableColumn] = DBNull.Value;
                            mergedDataTableColumn++;
                        }
                    }
                    //newRow[mergedDataTableColumn] = DBNull.Value;
                    //mergedDataTableColumn++;
                }
                mergedDataTable.Rows.Add(newRow);
            }
            return mergedDataTable;
        }


Что я уже пробовал:

как вызвать этот метод и что передать в этом методе. Плз помогите

Graeme_Grant

Значит, это не ваш код?

Member 12857358

да это не мой код но я хочу его использовать

Graeme_Grant

это основное Программирование.

[no name]

Вы могли бы подумать, что мы могли бы научить вас всему, что нужно знать о программировании в публикации на форуме, но нет, мы не можем. Мы также не можем научить вас программировать один "вопрос" за раз.

2 Ответов

Рейтинг:
1

Graeme_Grant

DataTable[] представляет собой массив DataTable ... propramming 101.


Member 12857358

как передать в нем datatable

Graeme_Grant

Почему вы хотите использовать его, когда вы явно не знаете, что он делает?

Member 12857358

я знаю, но немного сбит с толку. на самом деле я хочу объединить два dataTable бок о бок

Рейтинг:
1

Karthik_Mahalingam

Последовать этому примеру

DataTable dt1 = new DataTable("dt1");
            dt1.Columns.Add("Id");
            dt1.Columns.Add("Name");
            dt1.Rows.Add(1, "aa");

            DataTable dt2 = new DataTable("dt2");
            dt2.Columns.Add("Id");
            dt2.Columns.Add("Name");
            dt2.Rows.Add(2, "bb");

            DataTable Final = Merge(new DataTable[] { dt1, dt2 });