PDA

View Full Version : ایجاد یک سطر خالی در انتهای dataGridView



bftarane
جمعه 10 خرداد 1392, 10:35 صبح
سلام.
چطور می تونم یک سطر خالی همانند شکل زیر انتهای دیتاگریدویو داشته باشم؟

104881
البته جستجو کردم و اکثراً گفته شده بود به طور پیش فرض این ردیف وجود داره ولی نمی دونم چرا در دیتاگریدویو من وجود نداره در ضمن خاصیت AllowUserToAddRows هم True هست
اینم شکل دیتاگریدویو خودم
104882
اینم کدهایی که برای بایند کردن به کار بردم

private void Form1_Load(object sender, EventArgs e)
{
SqlDataReader dr = mydalbase.ExecuteReader(System.Data.CommandType.St oredProcedure, "spGetAllContacts", new SqlParameter[]{
});
BindingSource BindingSource1 = new BindingSource();
BindingSource1.DataSource = dr;
dataGridView1.DataSource = BindingSource1;
به نظرتون مشکل از کجا می تونه باشه؟

bftarane
جمعه 10 خرداد 1392, 12:49 عصر
وقتی به صورت ویزاردی بایند رو انجام می دم این سطر خالی ایجاد میشه البته آی دی رو هم نشون میده
حالا 2 تا سوال
1-آیا نمیشه وقتی با کدنویسی بایند انجام میدیم هم این سطر خالی رو داشته باشیم؟
2- حالا اگه مجبور شدیم ویزاردی پیش بریم چطور میشه سطر کاملاً خالی نشون داده بشه و حتی id که از نوع identity هست هم نشون داده نشه؟

danialafshari
جمعه 10 خرداد 1392, 13:00 عصر
سلام دوست عزیز


id که از نوع identity هست هم نشون داده نشه؟
یک مثلث کوچیک در گوشه ی بالا سمت راست datagrid وجود داره روش کلیک کن و Edit Columns... رو بزن بعد در صفحه ی ظاهر شده فیلد ID رو انتخاب کن Visible=false

در همین مثلث کوچیک اگر Allow adding تیک خورده باشه اون سطر خالی رو همیشه نشون میده

ولی همه برش میدارن . اصولی نیست که از طریق دیتاگرید عمل add رو انجام بدن

موفق باشی

bftarane
جمعه 10 خرداد 1392, 13:41 عصر
ممنون. نه نمی خوام کلاً ستون id نشون داده نشه می خوام اون سطر خالی وقتی روش کلیک میشه id نشون داده نشه مثلاً اگه آی دی 56هست اون 56نشون داده نشه
مثل شکل زیر
104893
ولی برای من این شکلی دیده میشه
104894
راستش الآن به دلیلی مجبورم طبق یه فرمی که بهم نمونش رو دادن این فرم رو درست کنم بنابراین مجبورم اون سطر خالی رو داشته باشم.
خودمم عادت به ویزاردی کار کردن ندارم که ظاهراً اینجا برای این که بتونم اون سطر خالی رو داشته باشم مجبورم ویزاردی کنترل رو بایند کنم.
تا حالا هم من بیشتر asp.net کار کردم و خیلی وقته ویندوز اپلیکیشن کار نکردم اونجا با گریدویو خیلی همه کارا آسونه.

در ضمن نمونه اونا با اکسس کار شده ولی من دارم با Sql کار می کنم نمی دونم می تونه به این ربطی داشته باشه که آی سطر خالی رو واسه من نشون میده؟

bftarane
جمعه 10 خرداد 1392, 16:59 عصر
ای بابا شرمنده چرا؟
مهم نیست اون قدرها. حالا کارای اصلی رو انجام می دم اگه در اون مورد هم به نتیجه ای رسیدم این جا عنوان می کنم. ممنون.

mohsen22
جمعه 10 خرداد 1392, 23:56 عصر
با سلام . من از طریق کد نویسی گریدم رو ایجاد کرده ام . حالا یک سوال میخوام در اولین ستون -ستون ردیف بزارم که تعداد سطر ها رو بشماره -از طرفی اندیس 0 هم قبلا توسط کدهام اشغال شده(یعنی ستون ردیفی که میخوام ایجاد کنم می افته روی اولید فیلد دیتابیسم) برای حل مشکل چه باید کرد ؟

bftarane
شنبه 11 خرداد 1392, 14:19 عصر
سلام.
شما می تونید دستور سلکتی رو که نوشتید طوری تغییر بدید که ROW_NUMBER هم سلکت زده بشه شبیه کاری که من در Sp زیر انجام دادم
alter procedure getdata

as
begin
select ROW_NUMBER() over (order by contactId) as o, * from tblContacts
end
حالا کافیه این اطلاعات واکشی شده رو به دیتاگریدویو بایند کنید.

mohsen22
یک شنبه 12 خرداد 1392, 17:47 عصر
مرسی..یک مثال در دسترس ندارید!؟

R_khaleghi
یک شنبه 12 خرداد 1392, 18:47 عصر
یه کار راحت تر هم میشه که اصلا نیازی به کد نویسی هم نداره.
وقتی datagridview رو به فرم اضافه میکنی تیک Enable adding رو فعال بزار.
همین.

105041

صباح فتحی
یک شنبه 12 خرداد 1392, 19:08 عصر
موندم این کارو چرا میخواید انجام بدید؟:لبخندساده: Enable adding کارتو را میندازه.امااگردستی میخواید اضاف کنید
باکدgridviewمیتونیدبراحتی انجام بدید

amir_pro
یک شنبه 12 خرداد 1392, 19:25 عصر
کدی که شما نوشتی مشکلی نداره. 2 تا راهی که حالا به ذهنم رسید رو میگم
1- همونجوری که خودت از دیتاریدر استفاده کردی ولی با استفاده از حلقه while و خاصیت hasrow

dr=cmd.executereader();
if (dr.hasrow)
while (dr.read())
{
datagridview1.rows,add(dr[1].tostring()
}


2- روش دومش آسونتره: استفاده از دیتاتیبل و دیتاآداپتر برای فیل کردن و استفاده از خاصیت datasource دیتاگریدت که باید برابر دیتاتیبلت بزاری

امیدوارم که کمکت کرده باشه

packet
دوشنبه 31 تیر 1392, 10:28 صبح
میشه یه مثال بزنید ممنون:متعجب:

packet
سه شنبه 01 مرداد 1392, 10:53 صبح
سلام ولی من جوابم رو نگرفتم ببینید من جدول رو اینجوری بایند کردم(تصویر 1)


ولی این پیغام رو میده چیکار کنم؟؟؟؟؟؟؟؟ (تصویر 2)خسته شدم یه راهنمایی بکنید لطفا
http://barnamenevis.org/images/misc/paperclip.png عکس های ضمیمه http://barnamenevis.org/attachment.php?attachmentid=107715&stc=1&d=1374473596 http://barnamenevis.org/attachment.php?attachmentid=107714&stc=1&d=1374473469

http://barnamenevis.org/clear.gif (http://barnamenevis.org/editpost.php?do=editpost&p=1827707)

packet
سه شنبه 01 مرداد 1392, 17:56 عصر
آقا یکی هم به ما جواب بده گیر افتادم:گریه: