【C#】关于DataGridView控件的使用总结

DataGridView常用方法:

dataGridView1.ReadOnly = true;//全部单元格只读

dataGridView1.Columns[1].ReadOnly = true;///指定单元格设置只读(列)第一列

dataGridView1.Rows[2].ReadOnly = true;///指定单元格设置只读 (行)第二行

dataGridView1[1, 2].ReadOnly = true;///指定单元格设置只读 (第1行,第2列)利用坐标

dataGridView1.AllowUserToAddRows = false;//禁止用户追加行

dataGridView1.AllowUserToDeleteRows = true;//允许用户删除行操作

//提示是否删除指定行数据

private void dataGridView1_UserDeletingRow(object sender, DataGridViewRowCancelEventArgs e)

        {

   DialogResult diaR = MessageBox.Show("删除该行吗?", "确认", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);

            if (diaR == DialogResult.OK)

            {

                e.Cancel = false;

            }

}

//提示删除了哪一行数据

private void dataGridView1_UserDeletedRow(object sender, DataGridViewRowEventArgs e)

        {

            System.Text.StringBuilder messageBoxCS = new System.Text.StringBuilder();

            messageBoxCS.AppendFormat("{0} = {1}", "行号为", e.Row);

            messageBoxCS.AppendLine();

            DialogResult diaR = MessageBox.Show("删除了" + messageBoxCS.ToString(), "确认");

        }

//删除选定的多行

   foreach(  DataGridViewRow r in dataGridView1.SelectedRows)

 { if (r.IsNewRow == false) { ataGridView1.Rows.Remove(r);  }     

}

取得选定的行、列、单元格

//选定的单元格

            foreach (DataGridViewCell c in dataGridView1.SelectedCells)

            {

                string cr = string.Format("{0},{1}", c.ColumnIndex, c.RowIndex);

                listBox1.Items.Add("选定的单元格位置是:" + cr);

      }

//选定的行/列

            foreach (DataGridViewRow c in dataGridView1.SelectedRows)

            {

                listBox1.Items.Add("选定的行是:" + c.RowIndex);

     }

foreach (DataGridViewColumn c in dataGridView1.SelectedColumns)

            {

                listBox1.Items.Add("选定的列是:" + c.ColumnIndex);

     }

   

 //指定选定单元格

         dataGridView1[0, 0].Selected = true;

         dataGridView1.Rows[0].Selected = true;

          dataGridView1.Columns[0].Selected = true;

 

//设置行内容

            dataGridView1.Rows[0].HeaderCell.Value = "第1行";

            

//利用数组添加添加数据时,类型都是默认的字符串类型

            string name = "Jim";

            string gender = "男";

            string age = "18";

            //将上面三个变量合成一个数组

            string[] row = { name, gender, age };

            //给dataGridView1控件添加数据

            dataGridView1.Rows.Add(row);//添加数据

//左上角的文字

            dataGridView1.TopLeftHeaderCell.Value = "左上角";

//列中显示选择框CheckBox

            DataGridViewCheckBoxColumn column1= new DataGridViewCheckBoxColumn();

           {

                column1.HeaderText = "选择框";

                column1.Name = "checkbox";

                column1.AutoSizeMode =

                DataGridViewAutoSizeColumnMode.DisplayedCells;

                column1.FlatStyle = FlatStyle.Standard;

     //显示选择框的三种状态

                 column1.ThreeState = true;

            }

            dataGridView1.Columns.Add(column1);

//显示按钮控件

            DataGridViewButtonColumn col=new DataGridViewButtonColumn();

            col.Name="Button";

            col.UseColumnTextForButtonValue=true;

            col.Text = "按钮";

            dataGridView1.Columns.Add(col);

触发的事件为:

private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)

        {

            if (dataGridView1.Columns[e.ColumnIndex].Name=="Button")

            {

                MessageBox.Show("触发了按钮");

            }

 }

单元格列显示图像的是:DataGridViewImageColumn

代码如下:

//显示图像

            DataGridViewImageColumn dgvI=new DataGridViewImageColumn();

            dgvI.Name="Image";

            dgvI.ValuesAreIcons=false;

            dgvI.Image = new Bitmap("c://windows//Blue Lace 16.bmp");

            dgvI.ImageLayout=DataGridViewImageCellLayout.Zoom;

            dgvI.Description="测试的图片";

            dataGridView1.Columns.Add(dgvI);

    dataGridView1["Image", 0].Value = new Bitmap("c://windows//Blue Lace 16.bmp");

//获取总行数:

dataGridView1.Rows.Count;

获取当前选中行索引:

int i = this.dataGridView1.CurrentRow.Index;

获取当前选中列索引:

int j = this.dataGridView1.CurrentCell.ColumnIndex;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_virtualman

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值