C#中DataGridView操作技巧

本文实例讲述了C#中DataGridView操作技巧。分享给大家供大家参考。具体分析如下:

代码如下:

#region 操作DataGridView

/// <summary>
/// 初始化DataGridView属性
/// </summary>
/// <param name="dg">要处理的DataGridView</param>
/// <param name="allowUserToAddRows">允许用户添加行</param>
/// <param name="allowUserToDeleteRows">允许用户删除行</param>
/// <param name="rowHeadersVisible">是否显示包含行标题的列</param>
/// <param name="columnHeadersHeightSizeMode">列标头高度大小模式</param>
/// <param name="multiSelect">是否多选</param>
/// <param name="readOnly">是否只读</param>
/// <param name="rowHeadersWidth">列头宽度</param>
/// <param name="selectionMode">列选择模式</param>
public virtual void InitSetDataGridViewAttribute(DataGridView dg,
    bool allowUserToAddRows,
    bool allowUserToDeleteRows,
    bool allowUserToResizeRows,
    bool rowHeadersVisible,
    DataGridViewColumnHeadersHeightSizeMode columnHeadersHeightSizeMode,
    bool multiSelect,
    bool readOnly,
    int rowHeadersWidth,
    DataGridViewSelectionMode selectionMode)
{
    dg.AllowUserToAddRows = allowUserToAddRows;
    dg.AllowUserToDeleteRows = allowUserToDeleteRows;
    dg.AllowUserToResizeRows = allowUserToResizeRows;
    dg.RowHeadersVisible = rowHeadersVisible;
    dg.ColumnHeadersHeightSizeMode = columnHeadersHeightSizeMode;
    dg.MultiSelect = multiSelect;
    dg.ReadOnly = readOnly;
    dg.RowHeadersWidth = rowHeadersWidth;
    dg.SelectionMode = selectionMode;

dg.RowStateChanged += dg_RowStateChanged;
}

/// <summary>
/// 初始化DataGridView属性
/// </summary>
/// <param name="dg">要处理的DataGridView</param>
public virtual void InitSetDataGridViewAttribute(DataGridView dg)
{
    InitSetDataGridViewAttribute(dg,
 false,
 false,
 false,
 true, DataGridViewColumnHeadersHeightSizeMode.AutoSize,
 false,
 true,
 50,
 DataGridViewSelectionMode.FullRowSelect);
}

/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public virtual void dg_RowStateChanged(object sender, DataGridViewRowStateChangedEventArgs e)
{
    e.Row.HeaderCell.Value = (e.Row.Index + 1).ToString();
}

/// <summary>
/// DataGridView添加行
/// </summary>
/// <param name="dg">要处理的DataGridView</param>
/// <param name="dr">添加的列</param>
public void DataGridViewAddRows(DataGridView dg, DataGridViewRow dr)
{
    dg.Rows.Add(dr);
}

/// <summary>
/// DataGridView行中添加列
/// </summary>
/// <param name="objs">要添加的对象</param>
/// <returns>列</returns>
public DataGridViewRow DataGridViewRowsAddCells(object[] objs)
{
    DataGridViewRow row = new DataGridViewRow();

foreach (object obj in objs)
    {
 DataGridViewTextBoxCell tBoxCell = new DataGridViewTextBoxCell();
 tBoxCell.Value = obj;

row.Cells.Add(tBoxCell);
    }

return row;
}

/// <summary>
/// DataGridView添加行
/// </summary>
/// <param name="dg">要处理的DataGridView</param>
/// <param name="listObjecArray">添加的对象List</param>
public void DataGridViewAddRows(DataGridView dg, List<object[]> listObjecArray)
{
    foreach (object[] objs in listObjecArray)
    {
 DataGridViewRow dr = DataGridViewRowsAddCells(objs);

DataGridViewAddRows(dg, dr);
    }
}

/// <summary>
/// DataGridView添加行
/// </summary>
/// <param name="dg">要处理的DataGridView</param>
/// <param name="objs">添加的对象</param>
public void DataGridViewAddRows(DataGridView dg, object[] objs)
{
    DataGridViewRow dr = DataGridViewRowsAddCells(objs);

DataGridViewAddRows(dg, dr);
}

/// <summary>
/// DataGridView列排序
/// </summary>
/// <param name="dg">要排序的DataGridView</param>
/// <param name="dataGridViewColumnIndex">列索引</param>
/// <param name="flag">0:升序排列 1:降序排列</param>
public void DataGridViewSort(DataGridView dg, int dataGridViewColumnIndex, int flag)
{
    switch (flag)
    {
 case 0:
     dg.Sort(dg.Columns[dataGridViewColumnIndex], ListSortDirection.Ascending);
     break;
 case 1:
     dg.Sort(dg.Columns[dataGridViewColumnIndex], ListSortDirection.Descending);
     break;
 default:
     break;
    }

}

#endregion

希望本文所述对大家的C#程序设计有所帮助。

(0)

相关推荐

  • c#利用Excel直接读取数据到DataGridView

    在winform里拖入一个datagridview控件,跟一个openfiledialog控件 复制代码 代码如下: using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using Microsoft.Office.Core;using Excel=Mi

  • C#中改变DataGridView控件边框颜色的方法

    DataGridView是Visual Studio中一个最重要的数据控件.它可以应用在大多数场合,功能强大,使用灵活.本文要重点介绍一下,如果设置DataGridView的边框颜色. 比尔盖次说"Apple机上没有哪一个软件我是觉得应该是微软首创的",这说明盖次对微软软件功能强大的自信心.而乔布斯而说,微软的软件毫无艺术感可言!这说明什么,说明微软的东西--丑! 乔帮主不愧是乔帮主,真是入木三分,直中要害!是的,默认情况下的DataGridView,真是丑!尤其是那个黑色的边框,不是

  • C# DatagridView常用操作汇总

    本文汇总了C#中DatagridView的常用操作,有助于读者加深对C# DatagridView用法的理解,具体如下: 1.(最基本的技巧).获取某列中的某行(某单元格)中的内容 this.currentposition = this.dataGridView1.BindingContext [this.dataGridView1.DataSource, this.dataGridView1.DataMember].Position; bookContent = this.database.d

  • C#中DataGridView动态添加行及添加列的方法

    本文实例讲述了C#中DataGridView动态添加行及添加列的方法.分享给大家供大家参考.具体如下: Datagridview添加列: DataGridViewTextBoxColumn acCode = new DataGridViewTextBoxColumn(); acCode.Name = "acCode"; acCode.DataPropertyName = "acCode"; acCode.HeaderText = "A/C Code&quo

  • WinForm ToolTip使用方法小结

    本文针对WinForm ToolTip使用方法进行实例总结,希望对大家学习C#程序设计有所帮助.具体如下: 程序功能代码如下: using System.Drawing; using System.Windows.Forms; namespace WinFormUtilHelpV2 { /// <summary> /// 基于.NET 2.0的Tooltip工具类 /// </summary> public static class TooltipToolV2 { /// <

  • C# DataGridView添加新行的2个方法

    可以静态绑定数据源,这样就自动为DataGridView控件添加 相应的行.假如需要动态为DataGridView控件添加新行,方法有很多种,下面简单介绍如何为DataGridView控件动态添加新行的两种方 法: 方法一: 复制代码 代码如下: int index=this.dataGridView1.Rows.Add();this.dataGridView1.Rows[index].Cells[0].Value = "1"; this.dataGridView1.Rows[inde

  • C#中datagridview使用tooltip控件显示单元格内容的方法

    本文实例讲述了C#中datagridview使用tooltip控件显示单元格内容的方法.分享给大家供大家参考,具体如下: 代码如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;

  • C# Datagridview绑定List方法代码

    本文实例讲述了c# DatagridView绑定List的方法,分享给大家供大家参考.具体方法如下: 主要代码如下: IList<Person> lists; public Form2() { InitializeComponent(); lists = new BindingList<Person>(); lists.Add(new Person(2)); this.dataGridView1.DataSource = lists; } 希望本文所述对大家的C#程序设计有所帮助.

  • c#读取xml文件到datagridview实例

    复制代码 代码如下: using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.IO;using System.Xml;using System.Xml.Linq; namespa

  • C#中DataGridView操作技巧

    本文实例讲述了C#中DataGridView操作技巧.分享给大家供大家参考.具体分析如下: 复制代码 代码如下: #region 操作DataGridView /// <summary> /// 初始化DataGridView属性 /// </summary> /// <param name="dg">要处理的DataGridView</param> /// <param name="allowUserToAddRows&

  • jQuery 操作input中radio的技巧

    通过jQuery获取页面中的所有radio对象,遍历页面中的radio,取消选中的标签,因为使用到jQuery时间,因此引用到了网上公共的js,这只是本人的一些总结,大神勿喷. <html> <head> <title>取消</title> <script language="javascript"> function _onclick() { $("input[name='ra']:checked").v

  • JavaScript中数组常见操作技巧

    效果图如下所示: Tip: 右键在新标签中打开查看清晰大图 下面介绍JavaScript中的数组对象遍历.读写.排序等操作以及与数组相关的字符串处理操作 创建数组 一般使用数组字面量[]创建新数组,除非想要创建指定长度的数组 // good var arr = []; var arr = ['red', 'green', 'blue']; var arr = [ ['北京', 90], ['上海', 50], ['广州', 50] ]; // bad var arr = new Object()

  • Python中字符串的常见操作技巧总结

    本文实例总结了Python中字符串的常见操作技巧.分享给大家供大家参考,具体如下: 反转一个字符串 >>> S = 'abcdefghijklmnop' >>> S[::-1] 'ponmlkjihgfedcba' 这种用法叫做three-limit slices 除此之外,还可以使用slice对象,例如 >>> 'spam'[slice(None, None, -1)] >>> unicode码与字符(single-characte

  • SQLite在C#中的安装与操作技巧

    SQLite 介绍 SQLite,是一款轻型的数据库,用于本地的数据储存. 先说说优点,它占用资源非常的低,在嵌入式设备中需要几百K的内存就够了:作为轻量级数据库,他的处理速度也足够快:支持的的容量级别为T级:独立: 没有额外依赖:开源:支持多种语言: 我的用途 在项目开发中,需要做一次数据数据同步.因为数据库实时数据的同步,需要记录更新时间,系统日志等等数据:当然,你也可以选择写ini和xml等等配置文件来解决,但是都如数据库可读性高不是. 安装 1. 引用 .NET 驱动 http://sy

  • Python 中 list 的各项操作技巧

    最近在学习 python 语言.大致学习了 python 的基础语法.觉得 python 在数据处理中的地位和它的 list 操作密不可分. 特学习了相关的基础操作并在这里做下笔记. ''' Python --version Python 2.7.11 Quote : https://docs.python.org/2/tutorial/datastructures.html#more-on-lists Add by camel97 2017-04 ''' list.append(x) #在列表

  • C#中DataGridView常用操作实例小结

    本文实例讲述了C#中DataGridView常用操作.分享给大家供大家参考.具体如下: public void Binder1() { DataTable tableType = DataBase.SQLDBHelper.GetDataTable("select top 200 unit_code,unit_name from unit "); DataTable table = DataBase.SQLDBHelper.GetDataTable("select top 2

  • 整理Linux中字符串的相关操作技巧

    我们在linux的操作中经常会对文件中的字符串进行替换.统计等操作,我们现在来做一次整理,如有错误请批评指正. 统计字符串个数 grep -c str filename grep -o str filename |wc -l 替换字符串 替换当前行匹配字符串 :s/oldStr/newStr 替换当前文件中所有匹配字符串 :%s/原字符串/替换字符串/gg 批量替换字符串 sed -i "s/查找字段/替换字段/g" grep 查找字段 -rl 路径 -rl 表示所有子目录 sed -

  • vue中的双向数据绑定原理与常见操作技巧详解

    本文实例讲述了vue中的双向数据绑定原理与常见操作技巧.分享给大家供大家参考,具体如下: 什么是双向数据绑定? vue是一个mvvm框架,即数据双向绑定,即当数据发生变化的时候,视图也就发生变化,当视图发生变化的时候,数据也会跟着同步变化.这也是算是vue的精髓之处了.值得注意的是,我们所说的数据双向绑定,一定是对于UI控件来说的,非UI控件不会涉及到数据双向绑定.单向数据绑定是使用状态管理工具的前提,如果我们使用vuex,那么数据流也是单向的,这时就会和双向数据绑定有冲突,我们可以这么解决.

  • 开发中避免延时操作技巧详解

    目录 前言 使用延时的场景 获取view的宽高 定时查询服务器结果 广播顺序 延时初始化 使用延时的场景 小心使用延时 前言 开发中我们或多或少会涉及到一些场景需要使用延时操作,而延时操作其实并不是一个很好的选择,并不是一个很好的方案,因为它不可控,也可能产生时序的逻辑问题.这次就来盘点一些使用延时操作的场景和如何去避免,本次内容比较基础. 使用延时的场景 在刚接触开发的时候,我们无脑解决问题的方案基本只有两种,异常捕获和延时.异常捕获容易理解,当碰到崩溃又分析不出原因时,往往加个try-cat

随机推荐