asp.net 关于获取GridView列的值。

asp.net 关于获取GridView列的值。,第1张

把按钮放在模板列里

在RowCommand事件中

GridViewRow gvrow = (GridViewRow)(((LinkButton)eCommandSource)NamingContainer);

// 获取到行索引 RowIndex

int index = gvrowRowIndex;

TextBox txtNo4 = (TextBox )grvViewRows[index]Cells[4]FindControl("txtNo4");

TextBox txtNo5 = (TextBox )grvViewRows[index]Cells[5]FindControl("txtNo5");

TextBox txtNo6= (TextBox )grvViewRows[index]Cells[6]FindControl("txtNo6");

这样写法就能获取对应的index行,即你点击按钮所在的行;对应列5、6、7列的textbox的值

txtNo4text

txtNo5text

txtNo6 text

有很多种方式,因为gridview已经读出数据库的数据,所以我们只需要获取gridview中的数据即可,不用再连数据库了!

1启用选择按钮。

2datakeysName中填入主键字段名。

3双击GRIDVIEW控件

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)

{

TextBox1Text=GridView1SelectedRowCells[0]Text;//所选行的第一列的内容(注意:gridview中按钮所占的列,也要算到列数中)

TextBox2Text = GridView1SelectedRowCells[1]Text;//所选行的第二列的内容

//thisTextBox3Text=GridView1SelectedValueToString();//获取这行的主键数据,只要主键数据获得了,想怎样怎样!

}

protected void GVCom_DataBound(object sender, EventArgs e)

{

for (int i = 0; i < GVComRowsCount; i++)

{

Label lbl = (Label)GVComRows[i]Cells[具体列]FindControl("lblState");

string ZHI=lblText;

}

}

这样就行了

DataControlFieldVisible 属性获取或设置指示是否呈现数据控件字段的值。命名空间:SystemWebUIWebControls程序集:SystemWeb(在 systemwebdll 中)语法C#public bool Visible { get; set; }属性值如果呈现 DataControlField,则为 true;否则为 false。默认值为 true。备注使用 Visible 属性显示或隐藏数据绑定控件中的 DataControlField 对象。如果 Visible 属性为 false,则不显示数据值并且不做到客户端的往返行程。如果要往返不可见字段的数据,请将字段名添加到数据绑定控件的 DataKeyNames 属性。 *** 作:在初始化或控件布局时给DataKeyNames 属性加上你要隐藏或以后需要的主键字段,如果有多个就使用逗号,分隔;在获取值时使用:gridviewDataKeys[RowIndex]Value2在<head</head定义一个css<stylehidden{display:none}</style设置列属性中headerstyle、itemstyle、footerstyle的ccsclass为hidden3用display=none的方式隐藏4绑定在Button的CommandArgument里面============================================

protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)

{

GridViewRow row = GridView1Rows[eNewSelectedIndex];

if (rowRowState == DataControlRowStateSelected)

{

thisLabel3Text = rowCells[1]TextToString();

thistxt1Text ="你好";

}

}

但txt1中都没有值,好象都没有触发这事件,为什么?

msdn中说,当单某一行的选择BUTTON后,触发GridView1_SelectedIndexChanging事件,因此,你可以在GridView中加入选择BUTTON,然后用

protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)

{

thisResponseWrite(thisGridView1Rows[eNewSelectedIndex]Cells[4]Text);

}

直接给你上码:

1、获取选中行的某列的值:object ojb =GridView1getrowcellvalue(GridView1focusedrowhandle,"列名");

2、看数据源是什么类型,如果是datatable 则:datatable dtnew=(datatable)gridcontrol1datasource,然后,把你要添加的Datarow dr =dtnewnewrow();dr[0]="";

dtnewrowsadd(dr);

dtnewaccepchanges();添加完毕,在重新绑一次gridcontrol1datasource=dtnew;

在这个GridView1添加一行一样的,都要在绑定的数据源中添加不然你刷新后就不见了你添加的行。

3、不是这样写的你的写法错了。DataRow vCurrenRow = thisgridDatagridView1GetFocusedDataRow();

应该是这样写:DataRow vCurrenRow = thisgridView1GetDataRow(gridview1focusedrowhandle);

你看下然后实际 *** 作一下下次就懂了。

//点击GridView中的单元格,取到其单元格的行号 、列号、单元格内的值

protected void GridV_query_RowDataBound(object sender, GridViewRowEventArgs e)

{

if (eRowRowType == DataControlRowTypeDataRow)

{

for (int i = 0; i < eRowCellsCount; i++)

{

// i为列号,这良好总方法均

//eRowCells[i]Text

// ((DataRowView)eRowDataItem)RowItemArray[i]ToString()

eRowCells[i]AttributesAdd("onclick", "alert('行:" + eRowRowIndex + " 列:" + i + "单元格的值:" +((DataRowView)eRowDataItem)RowItemArray[i]ToString()+ "')");

}

}

}

以上就是关于asp.net 关于获取GridView列的值。全部的内容,包括:asp.net 关于获取GridView列的值。、请问如何获得GridView选中行的每一列的信息、GridView中某一列存放了数值。想要获得这个数值该如何做等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10045966.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存