PDA

View Full Version : سوال: دیتاگرید به همراه لیست باکس



lajevardi106
شنبه 17 فروردین 1392, 15:14 عصر
سلام
آیا میشه یه دیتاگرید داشت که یکی از ستونهاش از نوع لیست باکس باشه
نیاز دارم که داخل یکی از ستونهای دیتاگرید اطلاعات چندسطری داشته باشم

khokhan
شنبه 17 فروردین 1392, 15:25 عصر
سلام
آیا میشه یه دیتاگرید داشت که یکی از ستونهاش از نوع لیست باکس باشه
نیاز دارم که داخل یکی از ستونهای دیتاگرید اطلاعات چندسطری داشته باشم

یه ستون از نوع کمبوباکس ایجاد کن و خاصیت DropDownstyle اون رو Simple قرار بده

lajevardi106
شنبه 17 فروردین 1392, 15:41 عصر
یه ستون از نوع کمبوباکس ایجاد کن و خاصیت DropDownstyle اون رو Simple قرار بده

یه ستوان از نوع کمبوباکس ایجاد کردم. اما خاصیتی به نام DropDownstyle توش ندیدم که تغییرش بدم
میشه شفافتر راهنمایی کنید.
ممنون

alexmcse
شنبه 17 فروردین 1392, 15:59 عصر
سلام
DataGridViewComboBoxColumn dcc = new DataGridViewComboBoxColumn();
dcc.HeaderText = "sample";
//dcc.DataSource=//نام یکی از ستون های جدول رابنویس
dcc.DisplayStyle = DataGridViewComboBoxDisplayStyle.ComboBox ;
dataGridView1.Columns.Add(dcc);

lajevardi106
شنبه 17 فروردین 1392, 16:18 عصر
سلام
DataGridViewComboBoxColumn dcc = new DataGridViewComboBoxColumn();
dcc.HeaderText = "sample";
//dcc.DataSource=//نام یکی از ستون های جدول رابنویس
dcc.DisplayStyle = DataGridViewComboBoxDisplayStyle.ComboBox ;
dataGridView1.Columns.Add(dcc);

هنوز مشکل من حل نشده متاسفانه
اصل نیاز من اینه که مثلا یه نویسنده 5 تا کتاب داره میخوام اسم نویسنده تو یه سلول بیاد و نام 5 کتاب او در سلول بعدی.
این سلول دوم رو چه جوری نمایش بدم؟

alexmcse
شنبه 17 فروردین 1392, 17:10 عصر
مثل این عکس
http://www.uplooder.net/img/image1/d85b0108c25023fa07dd441f4baf6031/combo.png

khokhan
شنبه 17 فروردین 1392, 17:34 عصر
یه ستوان از نوع کمبوباکس ایجاد کردم. اما خاصیتی به نام DropDownstyle توش ندیدم که تغییرش بدم
میشه شفافتر راهنمایی کنید.
ممنون
بله متاسفانه ستون کمبوباکس خاصیت DropDownstyle نداره ومجبورین خودتون از طریق کد نویسی تغییر بدین

یعنی در رویداد EditingControlShowing کنترل dataGridView اینطور وارد می کنین :

ComboBox comboControl = e.Control as ComboBox;
if (comboControl != null)
{
if (comboControl.DropDownStyle != ComboBoxStyle.DropDownList)
{
comboControl.DropDownStyle = ComboBoxStyle.DropDownList;
}
}

مانند این نمونه

khokhan
شنبه 17 فروردین 1392, 17:49 عصر
هنوز مشکل من حل نشده متاسفانه
اصل نیاز من اینه که مثلا یه نویسنده 5 تا کتاب داره میخوام اسم نویسنده تو یه سلول بیاد و نام 5 کتاب او در سلول بعدی.
این سلول دوم رو چه جوری نمایش بدم؟
اینطور که من از گفته هاتون فهمیدم
شما می خواهید پس از اینکه دیتا گرید رو به یک دیتابیس وصل کردین
ستون مربوط به نام کتاب که یک ستون کمبوباکس است
با توجه به محتوای نام نویسنده متغیر باشه و فقط نام کتابهای نویسنده مربوطه رو براتون نمایش بده

اگر این فرض دست باشه بایستی دوتا ستون کمبو باکس در دیتا گرید تون داشته باشین
یک ستون برای نام نویسنده ویک ستون برای نام کتابها

حالا می آین ستون نام نویسنده رو به دیتابیستون وصل می کنین

و ستون مربوط به نام کتابها را در رویداد SelectedIndexChanged ستون نویسنده مقدار دهی میکنین البته از طریق کدنویسی

lajevardi106
یک شنبه 18 فروردین 1392, 08:16 صبح
اینطور که من از گفته هاتون فهمیدم
شما می خواهید پس از اینکه دیتا گرید رو به یک دیتابیس وصل کردین
ستون مربوط به نام کتاب که یک ستون کمبوباکس است
با توجه به محتوای نام نویسنده متغیر باشه و فقط نام کتابهای نویسنده مربوطه رو براتون نمایش بده

اگر این فرض دست باشه بایستی دوتا ستون کمبو باکس در دیتا گرید تون داشته باشین
یک ستون برای نام نویسنده ویک ستون برای نام کتابها

حالا می آین ستون نام نویسنده رو به دیتابیستون وصل می کنین

و ستون مربوط به نام کتابها را در رویداد SelectedIndexChanged ستون نویسنده مقدار دهی میکنین البته از طریق کدنویسی


اصل نیاز من مانند تصویر ضمیمه میباشد. آیا برای اینگونه نمایش دادن، راهی به نظرتان میرسد؟