DataGridView中绑定DataTable数据及相关操作实现代码

代码如下:

DataTable DT = new DataTable();
DT.Columns.Add("Name");
DT.Columns.Add("Sex");
DataRow dr = DT.NewRow();
dr[0] = "Kenny";
dr[1] = "男";
DT.Rows.Add(dr);

A:在DataGridView控件的列编辑中将DataPropertyName属性设为DataTable的列名称,如:DataPropertyName="Name";
B:选中行操作:


代码如下:

private void dataGridView_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 0 && e.RowIndex != -1 && !dataGridView.Rows[e.RowIndex].IsNewRow)
{
String name = dataGridView.Rows[e.RowIndex].Cells["dataGridViewTextBoxColumn1"].Value.ToString();
MessageBox.Show(name);
}
}

e.ColumnIndex指的是你所点击的列的索引,e.RowIndex是行的索引,如果dataGridView没有数据,则e.RowIndex为-1,Cells["dataGridViewTextBoxColumn1"]指的是dataGridView中给列起的名字,也可以用索引表示,写成Cells[0],即第1列.
如果是在web页面的GridView中,需要在GridView要取得值的标签里加入CommandArgument="<%#((GridViewRow)Container).RowIndex %>",并指定CommandName, 通过GridView的FindControl来找到控件,获取控件的值.
代码如下:
asp页面:


代码如下:

<asp:LinkButton ID="lkSelect" runat="server" CommandName="Select" CommandArgument="<%#((GridViewRow)Container).RowIndex %>">查看截图</asp:LinkButton>

后台:
在GridView的RowCommand事件里写如下代码:


代码如下:

protected void GridView_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Select")
{
int index = Convert.ToInt32(e.CommandArgument); //行索引
GridViewRow row = this.GridView.Rows[index]; //获得GridViewRow的一行
Label label1 = (Label)row.FindControl("label1");
String name = label1.Text;
Response.Write(name);
}
}

(0)

相关推荐

  • DataGridView自动调整行高和行宽

    DataGridView1.AutoSizeColumnsMode=DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader ///根据数据内容自动调整列宽 DataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCellsExceptHeaders ///根据数据内容自动调整行高

  • 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

  • asp.net DataGridView导出到Excel的三个方法[亲测]

    #region DataGridView数据显示到Excel    /// <summary>     /// 打开Excel并将DataGridView控件中数据导出到Excel    /// </summary>     /// <param name="dgv">DataGridView对象 </param>     /// <param name="isShowExcle">是否显示Excel界面 

  • WinForm中DataGridView添加,删除,修改操作具体方法

    1.添加操作,代码如下: 复制代码 代码如下: IList<SelfRun> selfRunConfigs = new List<SelfRun>();private void btnNewConfig_Click(object sender, EventArgs e){try{string _lampNo = UpDownSelfLampNo.Value.ToString();int _ctrlGpNo = Convert.ToInt16(UpDownCtrlGpCnt.Valu

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

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

  • 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添加新行的2个方法

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

  • Datagridview使用技巧(9)Datagridview的右键菜单

    DataGridView,DataGridViewColumn,DataGridViewRow,DataGridViewCell有ContextMenuStrip属性.可以通过设置ContextMenuStrip对象来控制DataGridView的右键菜单的显示. DataGridViewColumn的ContextMenuStrip属性设定除了列头以外的单元格的右键菜单. DataGridViewRow的ContextMenuStrip属性设定除了行头以外的单元格的右键菜单. DataGrid

  • C# DatagridView常用操作汇总

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

随机推荐