我在网页上使用网格视图。
我想在页面按钮的点击事件中通过response.write()
显示所选行单元格的数据。
答案 0 :(得分:8)
注意强> ::
请设置您的CommandName
按钮到"selectCol"
请为CommandName
设置
第二个按钮,你会用到
删除
为"deleteCol"
设置按钮的command argument
属性:
<强>的.aspx 强>
CommandArgument='<%#((GridViewRow)Container).RowIndex%>'
CommandArgument='<%#((GridViewRow)Container).RowIndex%>'
两个按钮。
<强>的.cs 强>
protected void gv_RowCommand(object sender, GridViewCommandEventArgs e)
{
try
{
int index = Convert.ToInt32(e.CommandArgument);
if (e.CommandName == "selectCol")
{
Response.Write(gv.Rows[index].Cells[0].Text); //consider you use bound field and the column you want to show its value is the first column.
}
else if(e.CommandName == "deleteCol")
{
int id = int.Parse(gv.DataKeys[index].Value.ToString());//the primary key for your table.
Delete(id);//method which use (Delete From .... Where id = ....).
}
gv.DataBind();
}
catch (Exception ee)
{
string message = ee.Message;
}
}
答案 1 :(得分:4)
问候Hims。
从gridview字段读取值的最简单方法是写:
的 your_grid_name.SelectedRow.Cell(* number_of_index *)。文本强>
就我而言:
Dim employer_name As String
的 employer_name = poslodavac_grid.SelectedRow.Cells(1)。文本强>
请记住,第一个单元格索引为零,并且不将“asp:CommandField ShowSelectButton”标记计为第一个...
答案 2 :(得分:3)
使用GridView.SelectedRow属性。
String cellText = this.gridView.SelectedRow.Cells[cellIndex].Text;
请参阅以下内容了解如何选择GridView
控件中的行。
答案 3 :(得分:3)
如果您在网格视图中使用LINK BUTTON
,则可以在ROWCOMMAND
方法中使用以下代码。此代码检索特定选定行中的所有值。
// to get the value of the link use the command argument
FaultId = Convert.ToInt32(e.CommandArgument);
// to get the other column values
UserId = Convert.ToInt32(((GridViewRow(((LinkButton)e.CommandSource).NamingContainer)).Cells[1].Text);
Department = ((GridViewRow(((LinkButton)e.CommandSource).NamingContainer)).Cells[2].Text;
ProblemType = ((GridViewRow)(((LinkButton)e.CommandSource).NamingContainer)).Cells[3].Text;
答案 4 :(得分:2)
您可以在gridview的RowCommand事件中获取它:
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Select")
{
GridViewRow row = (GridViewRow)(((Button)e.CommandSource).NamingContainer);
Response.Write(row.Cells[0].Text);
Response.Write(row.Cells[1].Text);
................
}
}