欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-03-08 10:54:34
复制代码 代码如下: datatable dt = new datatable(); dt.columns.add("name"); dt.columns.add("sex...
复制代码 代码如下:

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);
}
}