Как я могу динамически добавлять столбцы и строки в пустой набор данных? - PullRequest
3 голосов
/ 19 апреля 2011

Я создал новый набор данных как

DataSet local_ds2 = new DataSet();

Я пытался динамически добавлять строки и столбцы

DataColumn dcAmount = new DataColumn("EmpID");
    local_ds2.Tables["ACHFile"].Columns.Add(dcAmount);

    DataColumn dcName = new DataColumn("Name");
    local_ds2.Tables["ACHFile"].Columns.Add(dcName);

    DataColumn dcBnkRoutingNumber = new DataColumn("BankRoutingNumber");
    local_ds2.Tables["ACHFile"].Columns.Add(dcBnkRoutingNumber);

    DataColumn dcBnkAccount = new DataColumn("BankAccount");
    local_ds2.Tables["ACHFile"].Columns.Add(dcBnkAccount);

    DataColumn dc = new DataColumn("Amount");
    local_ds2.Tables["ACHFile"].Columns.Add(dc);

    DataColumn dc1 = new DataColumn("BankAccountTypeID");
    local_ds2.Tables["ACHFile"].Columns.Add(dc1);

    for (int i = 0; i < chkcnt; i++)
    {
        local_ds2.Tables["ACHFile"].Rows[i]["EmpID"] = EmpID[i];
        local_ds2.Tables["ACHFile"].Rows[i]["Name"] = Empname[i];
        local_ds2.Tables["ACHFile"].Rows[i]["BankRoutingNumber"] = BnkRoutingNumber[i];
        local_ds2.Tables["ACHFile"].Rows[i]["BankAccount"] = BnkAccount[i];
        local_ds2.Tables["ACHFile"].Rows[i]["BankAccountTypeID"] = AchDB.strBankTypeID[i];
        local_ds2.Tables["ACHFile"].Rows[i]["Amount"] = AchDB.Amount1[i];
        if (AchDB.strBankTypeID[i].ToString() == "D")
            strBankAccntType = "BankAccountTypeID='" + AchDB.strBankTypeID[i].ToString() + "'";
    }

Но я не могу динамически добавлять столбцы и строки, может ли кто-нибудь мне помочь

Ответы [ 3 ]

3 голосов
/ 19 апреля 2011

Попробуйте изменить свой код на

DataRow dr;        

for (int i = 0; i < chkcnt; i++)
        {
            dr = local_ds2.Tables["ACHFile"].NewRow();
            dr["EmpID"] = EmpID[i];
            dr["Name"] = Empname[i];
            dr["BankRoutingNumber"] = BnkRoutingNumber[i];
            dr["BankAccount"] = BnkAccount[i];
            dr["BankAccountTypeID"] = AchDB.strBankTypeID[i];
            dr["Amount"] = AchDB.Amount1[i];
            if (AchDB.strBankTypeID[i].ToString() == "D")
                strBankAccntType = "BankAccountTypeID='" + AchDB.strBankTypeID[i].ToString() + "'";
            local_ds2.Tables["ACHFile"].Rows.Add(dr);
        }

Вы не добавляете строки в таблицу данных

2 голосов
/ 19 апреля 2011

должно быть как ...

        DataRow myRow;
        DataTable ACHFile = new DataTable();
        DataColumn EmpID = new DataColumn("EmpID", System.Type.GetType("System.String"));
        ACHFile.Columns.Add(EmpID );

    for (int i = 0; i < chkcnt; i++)
    {
        myRow = ACHFile.NewRow();
        myRow["EmpID"] = EmpID[i];
        ACHFile.Rows.Add(myRow);
.......
    }
0 голосов
/ 19 апреля 2011

попробуйте поместить датаколы в таблицу и затем добавить таблицу в таблицу. Прямо сейчас похоже, что вы добавляете столбец в таблицу, пропуская шаг строк

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...