• 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);
  • 相关阅读:
    jQuery-File-Upload文件上传
    JavaScript探秘:强大的原型和原型链
    JavaScript 开发进阶:理解 JavaScript 作用域和作用域链
    前端开发面试题及答案
    JSP页面
    XMLHTTP.readyState的五种状态
    HTTP: The Protocol Every Web Developer Must Know
    W3C-Web Service
    H5教程
    PHP 页面编码声明方法(header或meta)
  • 原文地址:https://www.cnblogs.com/quke123/p/4096721.html
Copyright © 2020-2023  润新知