private void EditPurchaseOrderDetail(DataTable datasource)
        {
            var pdetail = new PurchaseOrderDetail();
            pdetail.LoadByPo(_poid);
            var iunit = new ItemUnitBase();
            if (_dtselectedItemsTable != null)
            {
                _dtselectedItemsTable.Clear();
            }

            pdetail.Rewind();
            while (!pdetail.EOF)
            {
                if (datasource != null)
                {

                    iunit.LoadUnit(pdetail.UnitOfIssueID, pdetail.ItemID);
                    DataRow[] dataRows = datasource.Select(String.Format("ItemID = {0} and UnitID = {1}", pdetail.ItemID, iunit.ID));
                    if (dataRows.Length > 0)
                    {
                        // _dtselectedItemsTable.ImportRow(dataRows[0]);
                        var selectedRow = _dtselectedItemsTable.NewRow();
                        selectedRow["FullItemName"] = dataRows[0]["FullItemName"];
                        selectedRow["StockCode"] = dataRows[0]["StockCode"];
                        selectedRow["Unit"] = dataRows[0]["Unit"];
                        selectedRow["UnitID"] = iunit.ID;
                        selectedRow["ItemID"] = pdetail.ItemID;
                        selectedRow["Quantity"] = pdetail.Quantity;
                        selectedRow["Amount"] = pdetail.Amount;
                        selectedRow["PreferredManufacturerID"] = pdetail.PreferredManufacturerID;
                        selectedRow["PurchaseOrderDetailID"] = pdetail.PurchaseOrderDetailID;
                        //Check all
                        dataRows[0]["IsSelected"] = true;

                        _dtselectedItemsTable.Rows.Add(selectedRow);
                    }
                }
                pdetail.MoveNext();
            }

            gridItemsList.DataSource = datasource.DefaultView;
            gridSelectedItems.DataSource = _dtselectedItemsTable.DefaultView;
        }