Ссылка на объект, установленная на экземпляр объекта в gridview1.setrowcellvalue
привет,
я пытаюсь установить значение ячейки строки, но эта ошибка появляется в этой строке
//select deafult store gridView1.SetRowCellValue(gridView1.FocusedRowHandle, "storeID", BasicVars.DeafulStore);
Сообщение появилось это сказать : Ссылка на объект, установленная на экземпляр объекта
но никаких других подробностей нет:
полный код
private void AddNewRowWithChossedFromSearchLookUpEdit(int CHK_itemID) { if (CHK_itemID == 0) return; mrsalesdbEntities DB01 = ConnectionTools.OpenConn(); var ItemData = DB01.st_items.Find(CHK_itemID); //items // gridView1.SetRowCellValue(gridView1.FocusedRowHandle, "stitems_ID", SearchBarcode_ItemID_result); // searchedSerial = sForm.SearchValue; gridView1.AddNewRow(); int rowHandle = gridView1.FocusedRowHandle; decimal taxPercent = 0; try { if (ItemData.stitems_HaveTax == 1) { taxPercent = ItemData.stitems_TaxValue.Value; } else { taxPercent = 0; } } catch { taxPercent = 0; } gridView1.SetRowCellValue(gridView1.FocusedRowHandle, "taxp", taxPercent); //select deafult store gridView1.SetRowCellValue(gridView1.FocusedRowHandle, "storeID", BasicVars.DeafulStore); //select Smallest Unit var DB02 = ConnectionTools.OpenConn(); var UnitItemData = LoadedUnits.Where(u => u.stitems_ID == CHK_itemID).OrderBy(o => o.stitemsu_UnitNum).FirstOrDefault(); gridView1.SetRowCellValue(gridView1.FocusedRowHandle, "unit_ID", UnitItemData.stitemsu_ID); //qnty = 1 gridView1.SetRowCellValue(gridView1.FocusedRowHandle, "sitem_Quantity", 1); // call function to Get the selected unit details ( price , discount , bounce) if (gridView1.GetFocusedRowCellValue("stitems_ID") != null || gridView1.GetFocusedRowCellValue("unit_ID") != null || gridView1.GetFocusedRowCellValue("sitem_Quantity") != null) { int UnitID = Convert.ToInt32(gridView1.GetFocusedRowCellValue("unit_ID")); GetUnitDetails(UnitID); GetBounce(UnitID); } int StoreID = Convert.ToInt32(gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "storeID")); int itemID = CHK_itemID; try { //get all avaliable Expired Date ExpiredDateCombo.Items.Clear(); if (ItemData.stitems_Type.Value == 0) { var DB0201 = ConnectionTools.OpenConn(); var EXdates = DB0201.stock_noserials.Where(u => u.stitems_ID == CHK_itemID && u.StoreID == StoreID && u.StockQnty > 0).OrderBy(o => o.ExpireDate).ToList(); foreach (var d in EXdates) { ExpiredDateCombo.Items.Add(d.ExpireDate.Value.ToString("yyyy-MM-dd")); } gridView1.SetRowCellValue(gridView1.FocusedRowHandle, "ExpiredDate", EXdates.FirstOrDefault().ExpireDate.Value.ToString("yyyy-MM-dd")); gridView1.SetRowCellValue(gridView1.FocusedRowHandle, "BatchNum", EXdates.FirstOrDefault().BatchNum.ToString()); } else if (ItemData.stitems_Type.Value == 1) { var DB0201 = ConnectionTools.OpenConn(); var EXdates = DB0201.purchases_item_seriels.Where(u => (u.stitems_ID == CHK_itemID && u.ss_StoreID == StoreID && u.pis_Statues == 0) || (u.stitems_ID == CHK_itemID && u.ss_StoreID == StoreID && u.pis_Statues == 5) || (u.stitems_ID == CHK_itemID && u.ss_StoreID == StoreID && u.pis_Statues == 6)).OrderBy(o => o.pis_ExpireDate).ToList(); foreach (var d in EXdates) { ExpiredDateCombo.Items.Add(d.pis_ExpireDate.Value.ToString("yyyy-MM-dd")); } gridView1.SetRowCellValue(gridView1.FocusedRowHandle, "ExpiredDate", EXdates.FirstOrDefault().pis_ExpireDate.Value.ToString("yyyy-MM-dd")); gridView1.SetRowCellValue(gridView1.FocusedRowHandle, "BatchNum", EXdates.FirstOrDefault().BatchNum.ToString()); } } catch { } // Validate all row cells gridView1.ClearColumnErrors(); PathingVars.RowValid = 1; ClearValidationsErrs = 0; gridView1.PostEditor(); gridView1.UpdateCurrentRow(); gridView1.FocusedRowHandle = gridView1.DataRowCount - 1; gridView1.FocusedColumn = gridView1.Columns["sitem_NetPrice"]; }
Что я уже пробовал:
я попытался написать эту строку между try и catch, чтобы увидеть детали ошибки, но msg не появилось.
try { //select deafult store gridView1.SetRowCellValue(gridView1.FocusedRowHandle, "storeID", BasicVars.DeafulStore); } catch (Exception exxxxx) { MessageBox.Show(exxxxx.ToString()); }
пожалуйста, обратите внимание, что "поле storeid"есть ли колонка в управления gridview1 и , BasicVars.DeafulStore имейте значение "1", а не null.
ZurdoDev
Это очень просто исправить, и только вы можете это сделать, потому что мы не можем запустить ваш код. Сначала определите конкретную строку кода, которая вызывает ошибку, затем поместите на нее точку останова и проверьте, что является нулевым.
Простой.
Golden Basim
я сделал это , линия
gridView1.SetRowCellValue(gridView1.FocusedRowHandle, "storeID", BasicVars.DeafulStore);и нет никакого нулевого объекта
ZurdoDev
Что-то есть, иначе вы не получили бы эту ошибку.
В чем заключается значение управления gridview1.Сфокусированная рука?
А что такое BasicVars.DeafulStore?
И вы уверены, что есть поле с именем "storeID". Это может быть чувствительно к регистру.
Golden Basim
управления gridview1.FocusedRowHandle = 0 , BasicVars.DeafulStore = 1 ,storeID-правильный.
ZurdoDev
Вы уверены, что именно эта строка вызывает ошибку?