当前位置:编程学习 > C#/ASP.NET >>

winForm DataGridView实现数据上下移动,并改变选中行第一个单元格背景颜色


  /// <summary>
        /// 上移
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSY_Click(object sender, EventArgs e)
        {
            DownAndUp(1);
        }
        /// <summary>
        /// 下移
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnXY_Click(object sender, EventArgs e)
        {
            DownAndUp(2);
        }
        private void DownAndUp(int tmpFlag)
        {
            if (tmpFlag == 1)
            {             //向上
                DataGridViewRow dr = dgvMsfgRpt.CurrentRow;
                if (dr.Index == 0)
                {
                    MessageBox.Show("已经是第一行了!");
                }
                if (dr.Index > 0)
                {

                    int index = dr.Index;
                    dgvMsfgRpt.Rows.Remove(dr);
                    dgvMsfgRpt.Rows.Insert(index - 1, dr);
                    dr.Selected = true;
                    dgvMsfgRpt.CurrentCell = dr.Cells[0];
                }
            }

            else
            {
                //向下
                DataGridViewRow dr = dgvMsfgRpt.CurrentRow;
                if (dr.Index == dgvMsfgRpt.Rows.Count - 1)
                {
                    MessageBox.Show("已经是最后一行了");
                }
                if (dr.Index < dgvMsfgRpt.Rows.Count - 1)
                {
                    int index = dr.Index;
                    dgvMsfgRpt.Rows.Remove(dr);
                    dgvMsfgRpt.Rows.Insert(index + 1, dr);

                    dr.Selected = true;
                    dgvMsfgRpt.CurrentCell = dr.Cells[0];
                }
            }
        }


在里面加代码,实现改变选中单元格的背景颜色 --------------------编程问答-------------------- 像选中单元格的 背景颜色 你去设置下gridview控件的某个属性吧,一般的都是select开头的 --------------------编程问答-------------------- 建议你用treeview --------------------编程问答-------------------- +:
dgvMsfgRpt.rows[index - 1].cell[0].style.backColor=color.red

-:
dgvMsfgRpt.rows[index + 1].cell[0].style.backColor=color.red --------------------编程问答--------------------
引用 3 楼 jah_online 的回复:
+:
dgvMsfgRpt.rows[index - 1].cell[0].style.backColor=color.red

-:
dgvMsfgRpt.rows[index + 1].cell[0].style.backColor=color.red

不行啊,颜色是变了,但一定要选中那个单元格,并且不选中的话,就看不见背景颜色!!
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,