zoukankan      html  css  js  c++  java
  • DataGridView1

    
    
    
    
    //显示行号
    private void dataGridView1_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
    {
        System.Drawing.Rectangle rectangle = new System.Drawing.Rectangle(e.RowBounds.Location.X,
            e.RowBounds.Location.Y,
            dataGridView1.RowHeadersWidth - 4,
            e.RowBounds.Height);
     
        TextRenderer.DrawText(e.Graphics, (e.RowIndex + 1).ToString(),
            dataGridView1.RowHeadersDefaultCellStyle.Font,
            rectangle,
            dataGridView1.RowHeadersDefaultCellStyle.ForeColor,
            TextFormatFlags.VerticalCenter | TextFormatFlags.Right);
    }
    
    
    
     //在页面上拖放一个DataGridView控件
    
    //连接数据库读取数据,为DataGridView赋值。
    
    String strConn = "server= .XWPC_DATABASE;uid=数据库用户名;pwd=数据库密码;database=数据库名";
    
    SqlConnection conn = new SqlConnection(strConn);
    String sqlId = "select * from [USER] ";
    conn.Open();
    SqlCommand cmd = new SqlCommand(sqlId, conn);
    SqlDataAdapter da = new SqlDataAdapter(cmd);
    
    DataSet ds = new DataSet();
    da.Fill(ds, "USER");
    
    DataGridView.DataSource = ds;
    DataGridView.DataMember = "USER";
    
    conn.Close();
    
    
    



    //
    建立一个DataTable private DataTable InitDt() { DataTable dt = new DataTable("个人简历"); dt.Columns.Add("id", typeof(int)); dt.Columns.Add("name", typeof(string)); dt.Columns.Add("sex", typeof(int)); dt.Columns.Add("address", typeof(string)); dt.Columns.Add("aihao", typeof(string)); dt.Columns.Add("photo", typeof(string)); dt.Rows.Add(new object[] { 1, "张三", 1, "东大街6号", "看书", "" }); dt.Rows.Add(new object[] { 1, "王五", 0, "西大街2号", "上网,游戏", "" }); dt.Rows.Add(new object[] { 1, "李四", 1, "南大街3号", "上网,逛街", "" }); dt.Rows.Add(new object[] { 1, "钱八", 0, "北大街5号", "上网,逛街,看书,游戏", "" }); dt.Rows.Add(new object[] { 1, "赵九", 1, "中大街1号", "看书,逛街,游戏", "" }); return dt; } //循环kDataGridView1 for (int i = 0; i < this.kDataGridView1.Rows.Count;i++ ) { switch (this.kDataGridView1[4, i].Value.ToString()) //第一个数为列,第二个为行 { case "0": this.kDataGridView1[4,i].Value = "未用"; break; case "1": this.kDataGridView1[4,i].Value = "正常"; break; case "2": this.kDataGridView1[4,i].Value = "停用"; break; case "3": this.kDataGridView1[4,i].Value = "废弃"; break; default: this.kDataGridView1[4,i].Value = "其他"; break; } } //判断kDataGridView1第i行第5列额值 if (kDataGridView1.Rows[i].Cells[5].Value.ToString().Trim() != "") { MessageBox.Show("所选行中有分发过的卡,请重新选择!"); return; } //循环kDataGridView1,判断行是否有被选中 for(int i=0;i < this.kDataGridView1.Rows.Count;i++ ) { DataGridViewCheckBoxCell checkCell = (DataGridViewCheckBoxCell)kDataGridView1.Rows[i].Cells[0]; Boolean flag = Convert.ToBoolean(checkCell.Value); if (flag == true) //查找被选择的数据行 { } } //点击第一列则选中所有行(或者是反选) if (kDataGridView1.CurrentCell.ColumnIndex == 1) { int count = kDataGridView1.Rows.Count; for (int i = 0; i < count; i++) { DataGridViewCheckBoxCell checkCell = (DataGridViewCheckBoxCell)kDataGridView1.Rows[i].Cells[0]; Boolean flag = Convert.ToBoolean(checkCell.Value); if (flag == false) //查找被选择的数据行 { checkCell.Value = true; } else checkCell.Value = false; } } //dataGridView定位 string id = this.k_id.Text.ToString().Trim(); if (id.Length != 0) { for (int i = 0; i < this.kDataGridView1.Rows.Count; i++) { if(this.kDataGridView1[0, i].Value.ToString().Trim()==id) { this.kDataGridView1.CurrentCell = kDataGridView1.Rows[i].Cells[0]; return; } } } //遍历dataTable if (dt != null && dt.Rows.Count > 0) { foreach (DataRow row in dt.Rows) //遍历行 { for (int i = 0; i < dt.Columns.Count; i++) { sql1 = sql1 + dt.Columns[i].ColumnName + "= '" + row[i].ToString() + "',"; // user_id = "123", } } } sql1 = sql1.Substring(0, sql1.Length - 1); //去掉最后一个","号 foreach (DataColumn col in dt.Columns) { sql1 = sql1 + "," + col.ColumnName.ToString(); //获取列的列名 //MessageBox.Show(col.ColumnName.ToString()); }
    1) 设定行高和列宽自动调整
    
    [C#]
    // 设定包括Header和所有单元格的列宽自动调整
    
    DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
    // 设定包括Header和所有单元格的行高自动调整
    
    DataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
    AutoSizeColumnsMode 属性的设定值枚举请参照 msdn 的 DataGridViewAutoSizeRowsMode 说明
    
    2)指定列或行自动调整
    
    [C#]
    // 第一列自动调整
    
    DataGridView1.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
    AutoSizeMode 设定为 NotSet 时, 默认继承的是 DataGridView.AutoSizeColumnsMode 属性。
    
    3) 设定列头的高度和行头的宽度自动调整
    
    [C#]
    // 设定列头的宽度可以自由调整
    
    DataGridView1.ColumnHeadersHeightSizeMode =
         DataGridViewColumnHeadersHeightSizeMode.AutoSize;
    // 设定行头的宽度可以自由调整
    
    DataGridView1.RowHeadersWidthSizeMode =
         DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders;
    4) 随时自动调整
    a, 临时的,让列宽自动调整,这和指定AutoSizeColumnsMode属性一样。
    
    [C#]
    // 让 DataGridView1 的所有列宽自动调整一下。
    
    DataGridView1.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
    // 让 DataGridView1 的第一列的列宽自动调整一下。
    
    DataGridView1.AutoResizeColumn(0, DataGridViewAutoSizeColumnMode.AllCells);
    上面调用的 AutoResizeColumns 和 AutoResizeColumn 当指定的是DataGridViewAutoSizeColumnMode.AllCells 的时候, 参数可以省略。即:
    DataGridView1.AutoResizeColumn(0) 和 DataGridView1.AutoResizeColumns()
    
    b,临时的,让行高自动调整
    
    [C#]
    // 让 DataGridView1 的所有行高自动调整一下。
    
    DataGridView1.AutoResizeRows(DataGridViewAutoSizeRowsMode.AllCells);
    //让 DataGridView1 的第一行的行高自动调整一下。
    
    DataGridView1.AutoResizeRow(0, DataGridViewAutoSizeRowMode.AllCells);
    上面调用的 AutoResizeRows 和 AutoResizeRow 当指定的是DataGridViewAutoSizeRowMode.AllCells 的时候, 参数可以省略。即:DataGridView1.AutoResizeRow(0) 和 DataGridView1.AutoResizeRows()
    
    c,临时的,让行头和列头自动调整
    关于性能:
    通过 AutoSizeColumnsMode 或者 AutoSizeRowsMode 属性所指定的单元格进行自动调整时,如果调整次数过于多那么将可能导致性能下降,尤其是在行和列数比较多的情况下。在这时用 DisplayedCells 代替 AllCells 能减少非所见的单元格的调整,从而提高性能。
    
    [C#]
    // 列头高度自动调整
    
    DataGridView1.AutoResizeColumnHeadersHeight();
    // 行头宽度自动调整
    
    DataGridView1.AutoResizeRowHeadersWidth(
         DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders);
  • 相关阅读:
    poj3278 Catch That Cow
    poj2251 Dungeon Master
    poj1321 棋盘问题
    poj3083 Children of the Candy Cor
    jvm基础知识—垃圾回收机制
    jvm基础知识1
    java面试基础必备
    java soket通信总结 bio nio aio的区别和总结
    java scoket aIO 通信
    java scoket Blocking 阻塞IO socket通信四
  • 原文地址:https://www.cnblogs.com/quke123/p/4096721.html
Copyright © 2011-2022 走看看