开发者

How can I dynamically add colums and rows to an empty dataset?

I created a new dataset as

DataSet local_ds2 = new DataSet();

I tried this to add rows and columns dynamically

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(开发者_C百科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() + "'";
    }

But I am unable to add columns and rows dynamically can any one help me


Try changing your code to this

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);
        }

You are not adding the rows to the Datatable


should be like...

        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);
.......
    }


try putting the datacolums in a tablerow and then adding the tablerow to the table. Right now it looks like you're adding a column to a table skipping the step of the rows

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜