PDA

View Full Version : سوال: ثابت بودن چک باکس در header ستون گریدویو



طبیب دل
سه شنبه 18 آبان 1389, 17:21 عصر
با سلام
من براي اضافه کردن يک چک باکس به header يک ستون گريد ويو از کد زير استفاده کردم


checkboxHeader.Name = "checkboxHeader";
checkboxHeader.Size = new Size(18, 18);
checkboxHeader.BackColor = System.Drawing.SystemColors.Control;
checkboxHeader.CheckedChanged += new EventHandler(checkboxHeader_CheckedChanged);
dgvUsers.Controls.Add(checkboxHeader);
Rectangle rect = dgvUsers.GetCellDisplayRectangle(0, -1, true);
Point oPoint = new Point();
oPoint.X = rect.Location.X + (rect.Width - checkboxHeader.Width) / 2 + 1;
oPoint.Y = rect.Location.Y + (rect.Height - checkboxHeader.Height) / 2 + 1;
checkboxHeader.Location = oPoint;

تا اينجا مشکلي نيست ولي وقتي scroll پايين گريد ويو را جابجا مي کنم چک باکس روي بقيه ستونها مي رود در حالي که مي خوام روي ستون خودش بماند
چي کار کنم؟

hossin.esm
سه شنبه 18 آبان 1389, 19:38 عصر
این مثال رو ببین مشکلت رو حل میکنه

طبیب دل
سه شنبه 18 آبان 1389, 21:25 عصر
این مثال رو ببین مشکلت رو حل میکنه
چطوری میتونم تو خاصیت CheckedChanged کد بنویسم

hossin.esm
سه شنبه 18 آبان 1389, 21:39 عصر
private void Form1_Load(object sender, EventArgs e)
{
DataGridViewCheckBoxColumn colCB = new DataGridViewCheckBoxColumn();
DatagridViewCheckBoxHeaderCell cbHeader = new DatagridViewCheckBoxHeaderCell();
colCB.HeaderCell = cbHeader;
dgvUsers.Columns.Add(colCB);
cbHeader.OnCheckBoxClicked += new CheckBoxClickedHandler(cbHeader_OnCheckBoxClicked) ;

DatagridViewCheckBoxHeaderCell cbHeader2 = new DatagridViewCheckBoxHeaderCell();
dgvUsers.Columns[0].HeaderCell = cbHeader2;
dgvUsers.Rows.Add(1, 1, 1, 1);
dgvUsers.Rows.Add(1, 1, 1, 1);
dgvUsers.Rows.Add(1, 1, 1, 1);
dgvUsers.Rows.Add(1, 1, 1, 1);
dgvUsers.Rows.Add(1, 1, 1, 1);
dgvUsers.Rows.Add(1, 1, 1, 1);
}
void cbHeader_OnCheckBoxClicked(bool state)
{
MessageBox.Show(state.ToString());
}

طبیب دل
سه شنبه 18 آبان 1389, 23:36 عصر
چطور مقدار checked رو بدست بیارم. خاصیت checked نداره

hossin.esm
چهارشنبه 19 آبان 1389, 01:30 صبح
چطور مقدار checked رو بدست بیارم. خاصیت checked نداره
این هم رفع این مشکل

hossin.esm
چهارشنبه 19 آبان 1389, 01:43 صبح
دوست عزیز لینک زیر را هم ببین
http://www.codeproject.com/KB/grid/SelectAll.aspx

طبیب دل
چهارشنبه 19 آبان 1389, 11:31 صبح
دوست عزیز کارت خیلی درسته خیلی هم ممنون
فقط اگه بشه یک متد checkedChanged داشته باشه خیلی عالی میشه مثلا من با یک کلید چک باکس رو انتخاب می کنم و می خوام تمام چک باکس های اون ستون انتخاب بشن با کلیک کردن میشه ولی با زدن کلید نمیشه

hossin.esm
چهارشنبه 19 آبان 1389, 16:41 عصر
دوست عزیز کارت خیلی درسته خیلی هم ممنون
فقط اگه بشه یک متد checkedChanged داشته باشه خیلی عالی میشه مثلا من با یک کلید چک باکس رو انتخاب می کنم و می خوام تمام چک باکس های اون ستون انتخاب بشن با کلیک کردن میشه ولی با زدن کلید نمیشه

event checkedChanged را اضافه کردم ببین مشکلت حل شد