c#datagridview

//保证显示当前活动单元格
this.Invoke(new Action(() =>
{
 dataGridView1.CurrentCell = dataGridView1.Rows[index].Cells[0];
}));
//添加新行
index=dataGridView1.Rows.Add();dataGridView1.Rows[index].Cells[0].Value = (index+1).ToString();//添加内容
dataGridView1.Rows[index].Cells[1].Value = ip;//添加内容
dataGridView1.Rows[index].Cells[2].Value = DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss"); //添加内容
    //鼠标右键弹出菜单
  if (e.Button == MouseButtons.Right)
  {
                if (e.RowIndex >= 0)
                {
                    //若行已是选中状态就不再进行设置
                    if (dataGridView1.Rows[e.RowIndex].Selected == false)
                    {
                        dataGridView1.ClearSelection();
                        dataGridView1.Rows[e.RowIndex].Selected = true;
                    }
                    //只选中一行时设置活动单元格
                    if (dataGridView1.SelectedRows.Count == 1)
                    {
                        dataGridView1.CurrentCell = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex];
                    }
                    //弹出操作菜单
                    contextMenuStrip1.Show(MousePosition.X, MousePosition.Y);
                }
  }  
 //表头自动序号
private void dataGridView1_RowPostPaint_1(object sender, DataGridViewRowPostPaintEventArgs e)
        {
            SolidBrush b = new SolidBrush(this.dataGridView1.RowHeadersDefaultCellStyle.ForeColor);
            e.Graphics.DrawString((e.RowIndex + 1).ToString(System.Globalization.CultureInfo.CurrentUICulture), this.dataGridView1.DefaultCellStyle.Font, b, e.RowBounds.Location.X, e.RowBounds.Location.Y + 4);

        }
时间: 2024-10-29 19:09:39

c#datagridview的相关文章

在DataGridView控件中实现冻结列分界线

我们在使用Office Excel的时候,有很多时候需要冻结行或者列.这时,Excel会在冻结的行列和非冻结的区域之间绘制上一条明显的黑线.如下图: (图1) WinForm下的DataGridView控件也能实现类似的冻结行或者列的功能(参见:http://msdn.microsoft.com/zh-cn/library/28e9w2e1(VS.85).aspx) ,但是呢,DataGridView控件默认不会在冻结列或者行的分界处绘制一个明显的分界线,这样的话,最终用户很难注意到当前有列或者

将Excel导入DataGridView 中的"select * from [Sheet1$]"中[ ]里面表单名的动态获取

Sheet1$是Excel默认的第一个表名,如果改动:select * from [Sheet1$]"将查询失败,因此应根据选择自动获取excel表名: 1 OpenFileDialog ofd = new OpenFileDialog(); //选择文件路径 2 ofd.Title = "Excel文件"; 3 ofd.FileName = ""; 4 ofd.Filter = "Excel文件(*.xls)| *.xls"; 5 s

C# DataGridView 对指定行文字加粗实现阅读标记

在使用DataGridView控件放置通知等信息时,会遇到标记"已读"."未读"的问题.通过SQL语句查询出的结果中,"已读"."未读"会被放在一个专门的字段(DataGridView的列)中用来标记这个 条目的阅读情况.本文的目标就是要做到在显示上区分当前用户已读和未读的条目. 1.准备工作 建立一个C#窗体应用程序,里面放置一个Dock属性设置为Full的DataGridView 2.程序代码 在Load函数中,模拟生成了

DataGridView

1.DataGridView可以直接指定数据源,可以指定的数据源有:集合,数组,数据库表 2.绑定数据源之后,控件会根据数据源生成对应的列结构 *如果数据源是集合,那么会根据集合类型的属性生成对应的列结构 *遍历集合的每一个对象,将对象的属性值填充到控件的对应的行的列中 *也就意味着,如果数据源是集合,那么控件中的每一个记录就是集合中的每一个对象

DataGridView学习记录(一)

1.如何默认创建一个DataGridview为默认单元格数(n行m列) // dataGridViewG1 // this.dataGridViewG1.AllowUserToAddRows = false; this.dataGridViewG1.AllowUserToDeleteRows = false; this.dataGridViewG1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeade

DataGridView控件绑定数据源

前言: 最近听说DataGridView控件能直接绑定数据源.而不用穿越这层那层的忍辱负重.获取数据.真是高兴的屁颠屁颠的.后来一想二狗肯定不会弄.特意写了一个笨蛋版的教程--也算记录生活.欢度端午了.粽子就不送给大家了.但是大家可以找我来要呦!数量有限送完为止!--chenchen --步骤 1 添加控件 2 添加数据源 中间过程就是点下一步就不截图了.最后选择的这个是每次连接获取数据库数据的表和表的字段 3 三个组件意思 Adapter控件:连接数据库获取数据 DataSet:存放获取好的数

C#中数据源绑定DataSource以及相关控件(DataGridView)的使用总结

我们在编程过程中,会涉及到表格数据的显示,存储等,就可能涉及到DataGridView,DataSource, DataTable等概念. 下面我就我自己模糊的一些知识点串讲以下: 1)首先我要讲的是一些控件: Control: 控件基类,有一个DataBindings对象,它是一个ControlBindingCollection类,这个类继承与BindingsCollection,里面有一个Binding的列表对象,其中Binding对象时一个记录了属性名,数据源,数据成员等的对象.还有个Bi

删除dataGridview中选中的一行或多行

DialogResult RSS = MessageBox.Show(this,"确定要删除选中行数据码?","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Warning); switch(RSS) { case DialogResult.Yes: for (int i = this.dataGridView1.SelectedRows.Count; i > 0; i--) { int ID = Convert.ToI

list集合绑定在datagridview上时如何实现排序

List<Person> lst = new List<Person>(); lst.Add(new Person("A", "1")); lst.Add(new Person("C", "2")); lst.Add(new Person("B", "3")); BindingCollection<Person> objList = new Bindi

C# winform dataGridView

1 private void btnConn_Click(object sender, EventArgs e) 2 { 3 //定义连接字符串 4 string constr = "server=.;database=DBTest;uid=sa;pwd=sa;"; 5 SqlConnection con = new SqlConnection(constr); 6 try 7 { 8 con.Open(); 9 SqlCommand cmd = new SqlCommand(&quo