
把按钮放在模板列里
在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中某一列存放了数值。想要获得这个数值该如何做等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)