Files
KJD/TEMUKJD/WXForms/ProductForms/WXDBProdUploadCacheForm.cs
T
2026-01-09 19:32:27 +08:00

99 lines
3.8 KiB
C#

using AllBase;
using AllBase.Model.Result;
using NaiBa.Util.Extension;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using TemuKJD.BaseForms;
using TemuKJD.Extension;
using TemuKJD.ToolForms;
namespace TemuKJD.WXForms.ProductForms
{
public partial class WXDBProdUploadCacheForm : LRBaseForm
{
NaiBa.Util.ConcurrentList<TemuDBProductSelect> lstTemuDBProductSelect;
public WXDBProdUploadCacheForm(NaiBa.Util.ConcurrentList<TemuDBProductSelect> _lstTemuDBProductSelect)
{
InitializeComponent();
lstTemuDBProductSelect = _lstTemuDBProductSelect;
}
private void WXDBProdUploadCacheForm_Load(object sender, EventArgs e)
{
dgvSelectProduct.AddSelectorColumn("colCheck");
dgvSelectProduct.AddImgColumn("colProductSkcPic", "colImgUrl");
if (lstTemuDBProductSelect != null && lstTemuDBProductSelect.Count > 0)
{
foreach (var prodSelect in lstTemuDBProductSelect)
{
int rowIndex = this.dgvSelectProduct.Rows.Add(
false,
prodSelect.id,
prodSelect.spu_id,
prodSelect.main_img,
null,
prodSelect.product_name, // 商品名称
prodSelect.cat_name,
prodSelect.ext_code,
prodSelect.notes,
"删除"
);
dgvSelectProduct.Rows[rowIndex].Height = 60;
}
}
}
private void dgvSelectProduct_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex < 0 || e.RowIndex < 0)
return;
string headerText = dgvSelectProduct.Columns[e.ColumnIndex].HeaderText;
var id = dgvSelectProduct.Rows[e.RowIndex].Cells["colId"].Value.ParseToString();
var dbProduct = lstTemuDBProductSelect.FirstOrDefault(p => p.id.ToString() == id);
var row = dgvSelectProduct.Rows[e.RowIndex];
switch (headerText)
{
case "删除":
if (BaseMsgForm.ShowConfirm("确定删除商品吗?删除后不可恢复!").DialogResult == DialogResult.Cancel)
return;
lstTemuDBProductSelect.RemoveAll(s => s.id == row.Cells["colId"].Value.ParseToInt());
this.dgvSelectProduct.Rows.Remove(row);
break;
case "图片":
ShowImgForm imgFrom = new ShowImgForm(dgvSelectProduct.Rows[e.RowIndex].Cells["colImgUrl"].Value.ParseToString());
imgFrom.ShowDialog();
break;
case "":
dgvSelectProduct.Rows[e.RowIndex].Cells["colCheck"].Value = !(bool)dgvSelectProduct.Rows[e.RowIndex].Cells["colCheck"].Value;
break;
default:
break;
}
}
private void btnClearDgv_Click(object sender, EventArgs e)
{
var rows = this.dgvSelectProduct.Rows.Cast<DataGridViewRow>().ToList(); //Cast后Rows做foreach循环时仍会夹花跳过,所以要ToList转一个新的数组。
foreach (var row in rows)
{
if (row.Cells["colCheck"].Value.ParseToBool() == true)
{
lstTemuDBProductSelect.RemoveAll(s => s.id == row.Cells["colId"].Value.ParseToInt());
this.dgvSelectProduct.Rows.Remove(row);
}
}
}
}
}