PDA

View Full Version : انتقال منابع به کریستال و DataSet does not support System.Nullable



alih210
سه شنبه 24 فروردین 1389, 17:25 عصر
سلام دوستای عزیز
زاستش قبلا همین کاری که امروز برای گزارشگیری میکردم و انجام میدادم و جواب میگرفتم
اما الان با DataSet does not support System.Nullable مواجه میشم وقتی که منبع گزارش ساخته شده کریستال رو مقداردهی میکنم
در صورتی که منبع Null نیست و Datagrid هم نشونش میده :متفکر:
همه چی رو تست کردم اما جواب درستی نگرفتم،به نظر شما چرا اینجوریه؟
پایگاه داده هم SQL2005و C#‎هم کد مینویسم و ازLINQ هم استفاده میکنم

alih210
پنج شنبه 23 اردیبهشت 1389, 21:18 عصر
سلام
تعداد بازدید کننده از این مطلب کم نبود اما جوابی هم نبود
راستش LINQ با مقادیر و فیلدهایی که میتونن مقدار NULL بگیرن مشکلات بسیاری رو میاره که یکی از اونها همین مشکلی بود که مطرح شد با تعریف مقادیر پیش فرض و حذف خاصیت NULL این مسئله هم حل شد
مرسی از دوست خوبم حسن کهریزی که کمک کرد و حس بد زمان خوردن به پروژه رفع شد

habib_namvar
سه شنبه 18 آبان 1389, 11:27 صبح
سلام
دوست عزیز شما فقط کافیه در linq در قسمتی که فیلد های بانک رو select م می کنید، فیلد ها رو تک تک انتخاب کنید


academyDataContext db = new academyDataContext();
var q = from t in db.v_teacherSkills
where t.tId == int.Parse(txt_tname.SelectedValue.ToString())
select new

{
t.tfName,
t.tlName,
t.tIdNumber,
t.tLoacation,

};
crstreaty crs = new crstreaty();
crs.SetDataSource(q.ToList());
crsview.ReportSource = crs;

habib_namvar
چهارشنبه 19 آبان 1389, 17:58 عصر
:لبخند:البته باید برای فیلد های عددی کاراری زیر رو هم انجام بدین


var q = from t in db.v_studentTeacherSkills
where t.sId == v_sid
selectnew
{
TheroticalNumber = t.TheroticalNumber.Value,
practicalMidTermNumber = t.practicalMidTermNumber.Value,
PracticalNumber = t.PracticalNumber.Value,
practicalTermNumber = t.practicalTermNumber.Value
};

یعنی باید بعد هر نام فیلد یک .value بزاری و اون فیلد رو مساوی نام فیلد قرار بدی:کف: