PDA

View Full Version : چک کردن ستون خالی گریدویو



safari_m4
جمعه 05 آبان 1402, 10:04 صبح
سلام و وقت بخیر چگونه چک کنم که یکی از ستونهای مورد نطر گریدویو مقدار سلول آن تماما خالی هست یا نه یعنی اگر تمام سلول ها خالی بود پیام بده در صورتی که حتی یک سلول پر بود پیامی صادر نشود با تشکر از دوستان

mazoolagh
جمعه 05 آبان 1402, 15:47 عصر
سلام و روز خوش

1- گریدویو کنترل webform هست و دیتاگریدویو کنترل winform ،
الان مبهم هست که منظور کدوم یکی هست چون فروم یک بخش جدا برای asp.net داره.

2- روش کلی که حلقه هست برای پیمایش rowها - ولی باید مشخص باشه که ستونها چجوری ساخته شدن،
یعنی bind هستن یا نه، autogenerate هستن یا نه، template دارن یا نه و ...

پرستو پارسایی
یک شنبه 07 آبان 1402, 08:23 صبح
جناب mazoolagh پاسخ کاملی دادند و طبق نظر ایشان در شماره ۲ شاید این کد بتونه کمکتون کنه

using CsvHelper;
using System.IO;


class Program
{
static void Main(string[] args)
{
// مسیر فایل CSV
string filePath = "data.csv";


// خواندن داده‌ها از فایل
using (var reader = new StreamReader(filePath))
using (var csv = new CsvReader(reader))
{
// خواندن ستون مورد نظر
csv.Read();
csv.ReadHeader();
var columnName = "نام ستون";
var column = csv.GetField(columnName);


// بررسی تمام سلول‌های ستون
bool allEmpty = true;
while (csv.Read())
{
var cellValue = csv.GetField(columnName);
if (!string.IsNullOrEmpty(cellValue))
{
allEmpty = false;
break;
}
}


// صدور پیام مورد نظر
if (allEmpty)
{
Console.WriteLine("تمام سلول‌های ستون خالی هستند.");
}
}
}
}

در این کد، ابتدا فایل CSV را با استفاده از `StreamReader` و `CsvReader` می‌خونیم . بعد ستون مورد نظر را با استفاده از `GetField` دریافت می‌کنیم. سپس با استفاده از حلقه `while` تمام سلول‌های ستون را بررسی و شرط مورد نظر را چک می‌کنیم. در صورتی که حداقل یک سلول پر باشد، متغیر `allEmpty` به `false` تغییر می‌کنه و حلقه متوقف می‌شه. در نهایت، در صورتی که `allEmpty` به `true` باقی بمونه ، پیام مورد نظر را دریافت میکنیم.