Member 11241887 Ответов: 2

Как исправить имя столбца не принадлежит таблице с помощью datatable в C#


у меня есть функция GetDataTable в C#, и эта datatable имеет функцию получения записей из datagridview, но когда я нажимаю кнопку Сохранить, Она говорит: контактный номер столбца не принадлежит таблице, но очевидно, что этот столбец является частью моей таблицы. что вызвало ошибку?

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

вот мой код:
public DataTable GetDataTable()
        {
            string dteOfTrans = dteTransDate.Value.ToString("MMMM dd, yyyy");
            string transMonth = dteTransDate.Value.ToString("MMMM");
            string company_name = txtPurchasedFrom.Text;
            string tin = txtTIN.Text;
            string cont_person = txtContactPerson.Text;
            contact_no = txtContactNo.Text;
            string address = txtAddress.Text;
            si_dr_no = "TO FOLLOW";
            //string business_style = txtb.Text;
            //string terms = txtTerms.Text;
            //string salesinv_no = txtSalesInvNo.Text;
            string cashier = Lbl_Cashier.Text;

            dt_Purchases.Columns.Clear();
            dt_Purchases.Clear();
            dt_Purchases.Columns.Add("TRANSACTION ID");
            dt_Purchases.Columns.Add("TRANSACTION DATE");
            dt_Purchases.Columns.Add("TRANSACTION MONTH");
            dt_Purchases.Columns.Add("PURCHASED FROM");
            dt_Purchases.Columns.Add("SI_DR_NO");
            dt_Purchases.Columns.Add("TIN");
            dt_Purchases.Columns.Add("CONTACT PERSON");
            dt_Purchases.Columns.Add("CONTACT NUNBER");
            dt_Purchases.Columns.Add("ADDRESS");
            dt_Purchases.Columns.Add("QTY");
            dt_Purchases.Columns.Add("UNIT");
            dt_Purchases.Columns.Add("ARTICLES");
            dt_Purchases.Columns.Add("UNIT PRICE");
            dt_Purchases.Columns.Add("AMOUNT");
            dt_Purchases.Columns.Add("GROSS AMOUNT");
            dt_Purchases.Columns.Add("CASHIER");
            dt_Purchases.Columns.Add("CATEGORY");

           
                

            DataRow drLocal = null;
            foreach (DataGridViewRow dr in dgvPurchases.Rows)
            {
                drLocal = dt_Purchases.NewRow();
                drLocal["TRANSACTION ID"] = dr.Cells["TRANSACTION ID"].Value;
                drLocal["TRANSACTION DATE"] = dteOfTrans;
                drLocal["TRANSACTION MONTH"] = transMonth;
                drLocal["PURCHASED FROM"] = company_name;
                drLocal["SI_DR_NO"] = si_dr_no;
                drLocal["TIN"] = tin;
                drLocal["CONTACT PERSON"] = cont_person;
                drLocal["CONTACT NUMBER"] = contact_no;
                drLocal["ADDRESS"] = address;
                drLocal["QTY"] = dr.Cells["QTY"].Value;
                drLocal["UNIT"] = dr.Cells["UNIT"].Value;
                drLocal["ARTICLES"] = dr.Cells["ARTICLES"].Value;
                drLocal["UNIT PRICE"] = dr.Cells["UNIT PRICE"].Value;
                drLocal["AMOUNT"] = dr.Cells["AMOUNT"].Value;
                drLocal["GROSS AMOUNT"] = dr.Cells["GROSS AMOUNT"].Value;
                drLocal["CASHIER"] = cashier;
                drLocal["CATEGORY"] = category;

                
                dt_Purchases.Rows.Add(drLocal);

            }
            return dt_Purchases;
        }

2 Ответов

Рейтинг:
0

OriginalGriff

Орфография, вот и все:

            dt_Purchases.Columns.Add("CONTACT NUNBER");
...
            drLocal["CONTACT NUMBER"] = contact_no;
'N' != 'M'


Member 11241887

о, прости, что я это упустила. моя ошибка. спасибо

OriginalGriff

Пожалуйста - я все время это делаю: "читай, что я хотел напечатать"! :смеяться:

Рейтинг:
0

Maciej Los

Внимательно изучите свой код:

dt_Purchases.Columns.Add("CONTACT NUNBER");

И
drLocal["CONTACT NUMBER"] = contact_no;


Вы видите разницу?