private void ItemType_GridView_ValidateRow(object sender, ValidateRowEventArgs e)
        {
            ItemType_GridView.ClearColumnErrors();

            ItemType row  = e.Row.CastTo <ItemType>();
            GridView view = sender as GridView;

            if (string.IsNullOrEmpty(row.ItemTypeName))
            {
                e.Valid = false;
                //Set errors with specific descriptions for the columns
                GridColumn column = view.Columns[nameof(row.ItemTypeName)];
                view.SetColumnError(column, BSMessage.BSM000013);
            }

            if (string.IsNullOrEmpty(row.ItemTypeSName))
            {
                e.Valid = false;
                //Set errors with specific descriptions for the columns
                GridColumn column = view.Columns[nameof(row.ItemTypeSName)];
                view.SetColumnError(column, BSMessage.BSM000012);
            }

            // Kiểm tra tồn tại trong grid
            if (ItemTypeData.ToList().Count(o => o.ItemTypeSName == row.ItemTypeSName) > 1)
            {
                e.Valid = false;
                //Set errors with specific descriptions for the columns
                GridColumn column = view.Columns[nameof(row.ItemTypeSName)];
                view.SetColumnError(column, BSMessage.BSM000010);
            }
        }
        private void ItemType_GridView_FocusedRowChanged(object sender, FocusedRowChangedEventArgs e)
        {
            Items_GridView.ClearColumnsFilter();
            ItemType selectedRow = ItemType_GridView.GetFocusedRow().CastTo <ItemType>();

            if (selectedRow == null)
            {
                return;
            }

            // filter grid
            Items_GridView.ActiveFilterString = $"[ItemTypeID] = '{selectedRow.ItemTypeID}'";
            Items_GridView.FocusedRowHandle   = 0;
        }
        private void Items_Add_Button_Click(object sender, EventArgs e)
        {
            string itemTypeID = ItemType_GridView.GetFocusedRow().CastTo <ItemType>().ItemTypeID;

            if (string.IsNullOrWhiteSpace(itemTypeID))
            {
                MessageBoxHelper.ShowErrorMessage(BSMessage.BSM000009);
                return;
            }

            ItemsData.Add(new Items
            {
                ItemTypeID = itemTypeID,
                Status     = ModifyMode.Insert
            });
        }
        private void ItemType_GridView_RowUpdated(object sender, RowObjectEventArgs e)
        {
            ItemType row      = e.Row.CastTo <ItemType>();
            bool     isNewRow = ItemType_GridView.IsNewItemRow(e.RowHandle);

            if (isNewRow)
            {
                row.Status = ModifyMode.Insert;
                return;
            }

            if (row.Status == ModifyMode.Insert)
            {
                return;
            }

            row.Status = ModifyMode.Update;
        }
 private void ItemType_Delete_Button_Click(object sender, EventArgs e)
 {
     ItemType_GridView.DeleteSelectedRows();
 }