Я получаю список выбранных элементов на DataGrid
, как это.
using (REntities RAEntity = new REntities())
{
var all = RAEntity.TBLM_PRODUCT.ToList<DataControllers.TBLM_PRODUCT>();
var selectionList = all.Where(x => x.PRODUCT_PROGROUP == "GL").Select(p => new { p.PRODUCT_DESC, p.PRODUCT_SPRICE }).ToList();
bs.DataSource = selectionList;
dg.DataSource = bs;
}
И на выбор DataGridView
, одним нажатием кнопки я получаю значение для моего TextBox
в другой форме.как это.
if (window.ShowDialog() == DialogResult.OK)
{
selectedProduct = (DataControllers.TBLM_PRODUCT)bs.Current;
txtServiceType.Text = selectedProduct.PRODUCT_DESC.ToString();
Мой выбранный продукт объявляется так:
public partial class TBLM_PRODUCT
{
public string PRODUCT_CODE { get; set; }
public string PRODUCT_DESC { get; set; }
public string PRODUCT_ISBN { get; set; }
public string PRODUCT_SUPPLIER { get; set; }
public string PRODUCT_PROGROUP { get; set; }
public Nullable<decimal> PRODUCT_SPRICE { get; set; }
}
private TBLM_PRODUCT selectedProduct;
Когда я пытаюсь получить данные в TextBox
другой формы, отображается неверная ошибка приведения, например:
Невозможно привести объект типа '<> f__AnonymousType0 2[System.String,System.Nullable
1 [System.Decimal]]' к типу TBLM_PRODUCT '.
Как это преодолеть?как выполнить приведение, когда я передаю данные объекту или как получить данные для следующей формы?