PDA

View Full Version : سوال: مشكل در نمايش اطلاعات در ديتا گريد



MOR_MS
شنبه 17 تیر 1391, 23:42 عصر
با سلام
طبق تصاوير ضميمه من در برنامه در ديتاست برنامه روي جدول يك كئوري با پارامتر ساختم كه بعد از اجرا همان فيلدهاي را كه ميخواهم نمايش ميدهد تا اينجا درست كار ميكنه (تصوير 001) ولي بعد از ذخيره و اجراي ان كه من در تصوير شمار002 نمايش دادم هميه فيلدها را نمايش ميدهد و فقط ان فيلدهاي را كه انتخاب كردم داراي اطلاعات است (علامت سبزرنگ) كه به همين صورت هم در ديتا گريد برنامه نمايش ميدهد نمي دونم چكار كنم كه فقط همان ركوردهاي كه ميخوا نمايش دهد
89354
89355
http://barnamenevis.org/images/misc/pencil.png

ROSTAM2
یک شنبه 18 تیر 1391, 01:03 صبح
براي هركدوم از فيلدهايي كه مي خوايد Alias ارائه بدبد ببينيد درست عمل مي كنه يا نه

MOR_MS
یک شنبه 18 تیر 1391, 19:33 عصر
سلام
بازم نشد فرقي نداره

MOR_MS
یک شنبه 18 تیر 1391, 21:16 عصر
خواهش مي كنم يك نفر راهنمايي كنه

reza69
یک شنبه 18 تیر 1391, 22:44 عصر
سلام وقتی دیتاگرید رو به جدول داخل دیتابیس وصل کردی گزینه edit colums.. رو بزن و اون ستونی که نمی خوای remove کن.
مثل شکل زیر
89416

MOR_MS
دوشنبه 19 تیر 1391, 00:46 صبح
سلام من نمي خوام ديتا گريد رو به ديتا ست وصل كنم
در ضمن مي خوام با كد كئوري هاي را كه توي ديتاست ساختم وارد ديتا گريد كنم

مرتضی تقدمی
دوشنبه 19 تیر 1391, 07:04 صبح
سلام
شما به این صورت عمل کن ببین جواب میگیری:



dim cm as new sqlcommand
dim ds as new dataset

cm.commandtext = "SPname"
cm.commandtype = commandtype.storedprocedure
cm.parameters.addwithcalue("parametrname", "value")
dim da as new sqldataadapter(cm)
da.fill(ds)


dgv.datasource = ds.tables(0)


ممکنه خطای تایپی تو کدها باشه ولی بطور کلی به همین شکله.
موفق باشید.

cherchil_hra
دوشنبه 19 تیر 1391, 07:52 صبح
با سلام
طبق تصاوير ضميمه من در برنامه در ديتاست برنامه روي جدول يك كئوري با پارامتر ساختم كه بعد از اجرا همان فيلدهاي را كه ميخواهم نمايش ميدهد تا اينجا درست كار ميكنه (تصوير 001) ولي بعد از ذخيره و اجراي ان كه من در تصوير شمار002 نمايش دادم هميه فيلدها را نمايش ميدهد و فقط ان فيلدهاي را كه انتخاب كردم داراي اطلاعات است (علامت سبزرنگ) كه به همين صورت هم در ديتا گريد برنامه نمايش ميدهد نمي دونم چكار كنم كه فقط همان ركوردهاي كه ميخوا نمايش دهد
89354
89355
http://barnamenevis.org/images/misc/pencil.png


مشکل شما به خاطر این هست که از دوتا دستور select استفاده می کنی. یعنی چی؟
تصویر شماره ی 2: اولین select شما با متدها fill و getData ساخته می شود که پیش فرض TableAdapter شما برای ساختن جدول و ستون ها می باشد.
دستور select دوم شما nam_famili فقط چندتا از این ستون ها را دارد. پس وقتی از این دستور استفاده می کنی، جدول پیش فرضت با این "متد" پر شده و همه ستون هایی که در متد fill آوردی هم نمایش داده می شوند.

راه حل: tableAdapter جدید بساز و از این متد استفاده کن و یا اینکه زمان نمایش ستون های اضافه را پاک کن.

اگر از هردو متد استفاده کنی، ممکن هست برنامه ات خطا بده.
Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints

فرض کن که شما برای یک فیلد مشخص کرده باشی که باید مقداری وارد بشه (null نباشه) و جزو ستون هات در متد fill باشه و در متد nam_famili نباشه.
خوب، وقتی توی برنامه از متد nam_famili استفاده کنی، چون برای فیلد مورد نظر مقداری برگردانده نمی شود، خطای گفته شده را نمایش می دهد.

موفق باشی!

MOR_MS
دوشنبه 19 تیر 1391, 19:45 عصر
سلام
حق باشماست
ولي من يك فرم دارم كه توش چند تا ديتا گريد است كه همه انها اطلاعات رو تقريباً از يك جول ميگيره كه بايد فيلتر بشه و هركدام اطلاعات خاصي را نشون به اگه بخوام براي هركدام يك tableAdapter درست كنم كمي شلوغ ميشه بنظر شما استفاده از linq چطوره كه من با كد فيلتر كنم كدام يك سرعتش بيشتره
باتشكر