ورود

View Full Version : کنترل نمایش مقادیر فیلدها در dataGrid



beginner63
پنج شنبه 12 دی 1387, 22:04 عصر
سلام
در بعضی از فیلدهای جدول های برنامه به جای مقادیر رشته ای از 0 و 1 استفاده کردم. چطور میتونم در dataGrid به جای این 0 و 1 ها مقادیر مورد نظرم رو قرار بدم؟
احتمالا قبلا گفته شده اما راستش نمیدونم چه چیزی رو باید جستجو کنم! datagrid رو جستجو کردم اما چیزی ندیدم
لطفا راهنمایی کنید
تشکر

ennovation
جمعه 13 دی 1387, 01:47 صبح
سلام
روش من اینه که اطلاعات جدول را در یک لیست یا امثال اون ریخته و گرید را بصورت دستی با اطلاعات پر میکنم . به اینصورت


MydataGird.Rows.Clear();
Mylist = استفاده میکنم Ilist<> این لیست با اطلاعات جدول پر میشود. من معمولا از
int rownumber = 0;
foreach (MyObject obj in Mylist )
{
MydataGird.Rows.Add();
MydataGird.Rows[rownumber].Cells[0].Value = obj.Name ;
MydataGird.Rows[rownumber].Cells[1].Value = obj.Tel ;
if (obj.Code == 1)
{MydataGird.Rows[rownumber].Cells[2].Value = "کارگر";}
if (obj.Code == 2)
{MydataGird.Rows[rownumber].Cells[2].Value = "کارفرما";}
rownumber++;
}

beginner63
جمعه 13 دی 1387, 15:18 عصر
با تشکر از لطف شما دوست عزیز
آیا دوستان روش دیگه ای دارند؟
در دلفی این کار به سادگی انجام میشد. به نظر من این روش بهینه نیست.

اوبالیت به بو
جمعه 13 دی 1387, 17:33 عصر
اين كد رو مي تونيد ساده ترش كنيد و جواب رو بگيريد اما تقريباً هر كدي كه بخواين بنويسيد همين ميشه مگر اينكه بخواين از دستور SQL اين پست استفاده كنيد:
http://barnamenevis.org/forum/showpost.php?p=629191&postcount=2
در دلفی این کار به سادگی انجام میشد.اگر براتون امكان داره اين دستور رو براي من پيام خصوصي كنيد.

Amir Oveisi
جمعه 13 دی 1387, 18:22 عصر
DatabaseDataContext db = new DatabaseDataContext();
var costs = from cost in db.Costs
where cost.FamilyMemberId == MainForm.LoggedInMemberId
select new
{
شناسه = cost.CostId,
نام = cost.Name,
اصلی = db.MainCostCategories.Single(c => c.MainCostCategoryId == cost.MainCostCategoryId).Name,
فرعی = db.SubCostCategories.Single(s => s.SubCostCategoryId == cost.SubCostCategoryId).Name,
تاریخ = cost.Date,
مبلغ = decimal.ToInt32(cost.CostValue),
توضیحات = cost.Description

};
dataGridViewCostView.DataSource = costs;

با linq اینکار به سادگی قابل انجام هست.
در این مثال MainCostCategoryId , SubCostCategoryID عدد هستند که نام معادلشون از یک جدول دیگه خونده میشه (البته شما میتونید نام معادل هر عدد رو در یک enum داشته باشید)

موفق باشید
jooje