Member 11466758 Ответов: 2

Я должен добавить значение строки в определенный столбец в зависимости от флага.


Я должен добавить значение строки в определенный столбец в зависимости от флага.
Невозможно привести объект типа "System.Data.DataRow" к типу " System.В разделе iconvertible'.Не удалось сохранить < system.data.datarow> В столбце AMOUNT. Ожидаемый тип-десятичный.

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

DataTable dt = new DataTable();
         dt.Columns.AddRange(new DataColumn[5] {
 new DataColumn("AMOUNT", typeof(decimal)),
 new DataColumn("DUE DATE", typeof(string)),
  new DataColumn("PAYMENT DATE", typeof(decimal)),
 new DataColumn("EMI RECEIVED", typeof(decimal)),
 new DataColumn("OD CHRGS RECEIVED", typeof(decimal))
});
           //dt.Columns.Add("DATE", typeof(string));
           // dt.Columns.Add("DUE AMOUNT", typeof(decimal));
           // dt.Columns.Add("PAYMENT", typeof(decimal));
           // dt.Columns.Add("OD CHRGS RECEIVED", typeof(decimal));

         DataRow dr;
         dr = dt.NewRow();
            for (int i = 0; i < dsreq.Tables[0].Rows.Count; i++)
            {

                dr["AMOUNT"] = dt.Rows.Add(dsreq.Tables[0].Rows[i]["AMT"]);
                if (dsreq.Tables[0].Rows[i]["FLAG"].ToString() == "D")
                {
                    dr["DUE DATE"] = dt.Rows.Add(dsreq.Tables[0].Rows[i]["DATE1"].ToString());
                }
                else
                {
                    dr["PAYMENT DATE"] = dt.Rows.Add(dsreq.Tables[0].Rows[i]["DATE1"].ToString());
                }
                dr["EMI RECEIVED"] = dt.Rows.Add(dsreq.Tables[0].Rows[i]["INSTALLMENT AMOUNT"]);
                dr["OD CHRGS RECEIVED"] = dt.Rows.Add(dsreq.Tables[0].Rows[i]["AFC/OTHER AMOUNT"]);

2 Ответов

Рейтинг:
2

Karthik_Mahalingam

попробовать это

for (int i = 0; i < dsreq.Tables[0].Rows.Count; i++)
           {
               DataRow  dr = dt.NewRow();
               dr["AMOUNT"] = Convert.ToDecimal(dsreq.Tables[0].Rows[i]["AMT"]);
               if (dsreq.Tables[0].Rows[i]["FLAG"].ToString() == "D")
               {
                   dr["DUE DATE"] = dsreq.Tables[0].Rows[i]["DATE1"].ToString();
               }
               else
               {
                   dr["PAYMENT DATE"] = Convert.ToDecimal(dsreq.Tables[0].Rows[i]["DATE1"].ToString());
               }
               dr["EMI RECEIVED"] = Convert.ToDecimal(dsreq.Tables[0].Rows[i]["INSTALLMENT AMOUNT"]);
               dr["OD CHRGS RECEIVED"] = Convert.ToDecimal(dsreq.Tables[0].Rows[i]["AFC/OTHER AMOUNT"]);
               dt.Rows.Add(dr);
           }



приведите значения на основе типа, определенного в столбце таблицы


Рейтинг:
0

Member 11466758

Спасибо за ваш ответ, но сверху я получаю вывод как:
СУММА ДАТА ОПЛАТЫ ДАТА ПОЛУЧЕНИЯ EMI
234017-01-2015233010 234014-02-2015233010 234013-03-2015233010 234015-04-2015233010

но я хочу получить такой результат
СУММА ДАТА ОПЛАТЫ ДАТА ПОЛУЧЕНИЯ EMI
2340 14-02-2015 14-02-2015 2330


Richard Deeming

Если вы хотите добавить комментарий к решению, используйте команду "есть вопрос или комментарий?" кнопка под этим решением.

НЕ опубликуйте свой комментарий как новое "решение".