惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Webroot Blog
Webroot Blog
U
Unit 42
A
About on SuperTechFans
宝玉的分享
宝玉的分享
月光博客
月光博客
C
CERT Recently Published Vulnerability Notes
P
Privacy International News Feed
Microsoft Security Blog
Microsoft Security Blog
G
Google Developers Blog
P
Privacy & Cybersecurity Law Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
S
Securelist
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Spread Privacy
Spread Privacy
L
Lohrmann on Cybersecurity
Apple Machine Learning Research
Apple Machine Learning Research
K
Kaspersky official blog
Hugging Face - Blog
Hugging Face - Blog
B
Blog
I
Intezer
Last Week in AI
Last Week in AI
T
Threat Research - Cisco Blogs
V
V2EX
L
LangChain Blog
AI
AI
G
GRAHAM CLULEY
T
Tor Project blog
人人都是产品经理
人人都是产品经理
D
Docker
WordPress大学
WordPress大学
Google DeepMind News
Google DeepMind News
I
InfoQ
Y
Y Combinator Blog
C
Comments on: Blog
GbyAI
GbyAI
www.infosecurity-magazine.com
www.infosecurity-magazine.com
酷 壳 – CoolShell
酷 壳 – CoolShell
T
Tailwind CSS Blog
aimingoo的专栏
aimingoo的专栏
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
腾讯CDC
N
News and Events Feed by Topic
MyScale Blog
MyScale Blog
H
Help Net Security
Vercel News
Vercel News
T
Tenable Blog
博客园 - 三生石上(FineUI控件)
爱范儿
爱范儿

博客园 - 威风剑

sqllite数据库操作帮助类 创建按钮的两种方法 jquery自定义事件 操作div - 威风剑 - 博客园 jQuery基本操作篇 jquery操作select时怎么产生事件 - 威风剑 - 博客园 jquery操作radio/checkbox/select 及其相关 - 威风剑 - 博客园 操作下拉框 - 威风剑 - 博客园 jquery操作select下拉列表框 - 威风剑 - 博客园 jqury操作表格 - 威风剑 - 博客园 .NET SESSION的使用及原理 Ilist转换成dataset (转) DateTime.Now.ToString("yyyyMMddHHmmssfff") WebMethod 特性的 EnableSession Thread.Sleep(0) showModalDialog和showModelessDialog使用心得 Transact SQL 语 句 功 能 SQL语句 SQL语句
【转】DataGridView新特色(vs2005)
威风剑 · 2008-01-14 · via 博客园 - 威风剑

1、自定义列

   Customize Cells and Columns in the Windows Forms DataGridView Control by Extending Their

    Behavior and Appearance

    Host Controls in Windows Forms DataGridView Cells

    继承 DataGridViewTextBoxCell 类生成新的Cell类,然后再继承 DataGridViewColumn 生成新的Column类,并指定

    CellTemplate为新的Cell类。新生成的Column便可以增加到DataGridView中去。

2、自动适应列宽

    Programmatically Resize Cells to Fit Content in the Windows Forms DataGridView Control

    Samples:

    DataGridView.AutoSizeColumns(

           DataGridViewAutoSizeColumnCriteria.HeaderAndDisplayedRows);

    DataGridView.AutoSizeColumn(

                DataGridViewAutoSizeColumnCriteria.HeaderOnly,

                2, false);

    DataGridView.AutoSizeRow(

                DataGridViewAutoSizeRowCriteria.Columns,

                2, false);

    DataGridView.AutoSizeRows(

              DataGridViewAutoSizeRowCriteria.HeaderAndColumns,

                0, dataGridView1.Rows.Count, false);

3、可以绑定并显示对象

    Bind Objects to Windows Forms DataGridView Controls

4、可以改变表格线条风格

    Change the Border and Gridline Styles in the Windows Forms DataGridView Control

    Samples:

    this.dataGridView1.GridColor = Color.BlueViolet;

    this.dataGridView1.BorderStyle = BorderStyle.Fixed3D;

    this.dataGridView1.CellBorderStyle = DataGridViewCellBorderStyle.None;

    this.dataGridView1.RowHeadersBorderStyle = DataGridViewHeaderBorderStyle.Single;

    this.dataGridView1.ColumnHeadersBorderStyle = DataGridViewHeaderBorderStyle.Single;

5、动态改变列是否显示,和动态改变列的显示顺序

    Change the Order of the Columns in the Windows Forms DataGridView Control

    Samples:

    customersDataGridView.Columns["CustomerID"].Visible = false;

    customersDataGridView.Columns["ContactName"].DisplayIndex = 0;

    customersDataGridView.Columns["ContactTitle"].DisplayIndex = 1;

    customersDataGridView.Columns["City"].DisplayIndex = 2;

    customersDataGridView.Columns["Country"].DisplayIndex = 3;

    customersDataGridView.Columns["CompanyName"].DisplayIndex = 4;

6、可以在列中显示图像

    Display Images in Cells of the Windows Forms DataGridView Control

    Samples:

            Icon treeIcon = new Icon(this.GetType(), "tree.ico");

           DataGridViewImageColumn iconColumn = new DataGridViewImageColumn ();

           iconColumn.Image = treeIcon.ToBitmap();

           iconColumn.Name = "Tree";

           iconColumn.HeaderText = "Nice tree";

           dataGridView1.Columns.Insert(2, iconColumn);

7、格式化显示内容:

    Format Data in the Windows Forms DataGridView Control

    Samples:

    this.dataGridView1.Columns["UnitPrice"].DefaultCellStyle.Format = "c";

    this.dataGridView1.Columns["ShipDate"].DefaultCellStyle.Format = "d";

    this.dataGridView1.DefaultCellStyle.NullValue = "no entry";

    this.dataGridView1.DefaultCellStyle.WrapMode = DataGridViewWrapMode.Wrap;

    this.dataGridView1.Columns["CustomerName"].DefaultCellStyle.Alignment =

                         DataGridViewContentAlignment.MiddleRight;

8、在拖动列的滚动条时可以将指定的列冻结

    Freeze Columns in the Windows Forms DataGridView Control

    Samples:将指定列及以前的列固定不动

    this.dataGridView1.Columns["AddToCartButton"].Frozen = true;

9、获取选择的单元格,行,列

    Get the Selected Cells, Rows, and Columns in the Windows Forms DataGridView Control

    Samples:

       见msdn。

10、显示录入时出现的错误信息

    Handle Errors that Occur During Data Entry in the Windows Forms DataGridView Control

    Samples:

    private void dataGridView1_DataError(object sender,

        DataGridViewDataErrorEventArgs e)

        {

        // If the data source raises an exception when a cell value is

        // commited, display an error message.

        if (e.Exception != null &&

            e.Context == DataGridViewDataErrorContext.Commit)

        {

            MessageBox.Show("CustomerID value must be unique.");

        }

        }

11、大数据量显示采用Virtual Mode

    Implement Virtual Mode in the Windows Forms DataGridView Control

12、设置指定的列只读

    Make Columns in the Windows Forms DataGridView Control Read-Only

    Samples:

    dataGridView1.Columns["CompanyName"].ReadOnly = true;

13、移去自动生成的列

    Remove Autogenerated Columns from a Windows Forms DataGridView Control

    Sample:

    dataGridView1.AutoGenerateColumns = true;

    dataGridView1.DataSource = customerDataSet;

    dataGridView1.Columns.Remove ("Fax");

    或:

    dataGridView1.Columns["CustomerID"].Visible = false;

14、自定义选择模式

    Set the Selection Mode of the Windows Forms DataGridView Control

    Sample:

    this.dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;

    this.dataGridView1.MultiSelect = false;

15、自定义设定光标进入单元格是否编辑模式(编辑模式)

    Specify the Edit Mode for the Windows Forms DataGridView Control

    this.dataGridView1.EditMode = DataGridViewEditMode.EditOnEnter;

16、新行指定默认值

    Specify Default Values for New Rows in the Windows Forms DataGridView Control

    Sample:

    private void dataGridView1_DefaultValuesNeeded(object sender,                       System.Windows.Forms.DataGridViewRowEventArgs e)

    {

      e.Row.Cells["Region"].Value = "WA";

       e.Row.Cells["City"].Value = "Redmond";

       e.Row.Cells["PostalCode"].Value = "98052-6399";

      e.Row.Cells["Region"].Value = "NA";

      e.Row.Cells["Country"].Value = "USA";

    e.Row.Cells["CustomerID"].Value = NewCustomerId();

    }

17、数据验证

    Validate Data in the Windows Forms DataGridView Control

    Samples:

     private void dataGridView1_CellValidating(object sender,

            DataGridViewCellValidatingEventArgs e)

        {

        // Validate the CompanyName entry by disallowing empty strings.

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

        {

            if (e.FormattedValue.ToString() == String.Empty)

            {

                dataGridView1.Rows[e.RowIndex].ErrorText =

                    "Company Name must not be empty";

                e.Cancel = true;

            }

        }

        }