在gridview绑定方法之后我想通过遍历行来取得每一行的所有值,但是取不到,gridview的AutoGenerateColumns="false"
大家有办法吗
{在每一行的最后一列我嵌套了一个grideview}StringBuilder strBuilder = new StringBuilder();
strBuilder.Append("<table>"); foreach(GridViewRow row in this.GridView1.Rows)//在这里遍历时row的cells.count是11,有值
{
strBuilder.Append("<tr>");
foreach (TableCell cell in row.Cells)
{
if (cell != null)
{
strBuilder.Append("<td>" + cell.Text + "</td>");//cell.text为空
}
else
{
strBuilder.Append("<td></td>");
}
}
strBuilder.Append("</tr>");
GridView gv = row.FindControl("GridView2") as GridView;
if(gv!=null)
{
foreach (GridViewRow gvRow in gv.Rows)
{
strBuilder.Append("<tr>");
foreach (TableCell cell in gvRow.Cells)
{
if (cell != null)
{
strBuilder.Append("<td>" + cell.Text + "</td>");
}
else
{
strBuilder.Append("<td></td>");
}
}
strBuilder.Append("</tr>");
}
}
}
大家有办法吗
{在每一行的最后一列我嵌套了一个grideview}StringBuilder strBuilder = new StringBuilder();
strBuilder.Append("<table>"); foreach(GridViewRow row in this.GridView1.Rows)//在这里遍历时row的cells.count是11,有值
{
strBuilder.Append("<tr>");
foreach (TableCell cell in row.Cells)
{
if (cell != null)
{
strBuilder.Append("<td>" + cell.Text + "</td>");//cell.text为空
}
else
{
strBuilder.Append("<td></td>");
}
}
strBuilder.Append("</tr>");
GridView gv = row.FindControl("GridView2") as GridView;
if(gv!=null)
{
foreach (GridViewRow gvRow in gv.Rows)
{
strBuilder.Append("<tr>");
foreach (TableCell cell in gvRow.Cells)
{
if (cell != null)
{
strBuilder.Append("<td>" + cell.Text + "</td>");
}
else
{
strBuilder.Append("<td></td>");
}
}
strBuilder.Append("</tr>");
}
}
}
解决方案 »
- 请教一个弱智问题
- 禁用IE关闭按钮
- Calendar1 选择日期时期时,总是出现看不到的现象。
- asp.net效验控件怎么进行客户端效验?
- DropDownList 问题 有点难
- 本机上正常运行,一放到服务器上就错误,请问哪里需要设置呢?
- 请教一句sql,加班中,在线等
- asp.net 带checkbox的treeview 如何实现父节点选中,子节点也选中,父节点取消,子节点也取消
- 在线等!Microsoft ASP.NET Web Matrix 中有没有语法提示?如果请问怎样调出来?
- 请教:怎样在datagrid中点击每行时产生一个事件?
- 很幼稚的问题,char 和Char有啥不一样?
- asp.net打开文档
以下不就是遍历了吗??
for (int i = 0; i < GridView1.Rows.Count; i++)
{
for(int j=0;j<GridView1.Columns.Count;j++)
Response.Write(GridView1.Rows[i].Cells[j].Text+";");
}
{
GridView gv=gr.FindControl("") as GridView;
string str = gr.Cells[1].Text;
}
应该是cell.FindControl("Control_ID").Text
==
楼主打算用cell.Text取值的前提条件是GridView对应字段为<BoundField .../> 如果是<TemplateField ...>必须使用FindControl找到相应控件再取其Text。如果是其他的Field就更麻烦点,还不如用TemplateField
strBuilder.Append("<table>"); foreach(GridViewRow row in this.GridView1.Rows)//在这里遍历时row的cells.count是11,有值
{
strBuilder.Append("<tr>");
for(int i=0;i<row.Cells.Count-1;i++)
{
if (row.Cells[i]!= null)
{
strBuilder.Append("<td>" + row.Cells[i].Text + "</td>");//cell.text为空
}
else
{
strBuilder.Append("<td></td>");
}
}
GridView gv = row.FindControl("GridView2") as GridView;
if(gv!=null)
{
foreach (GridViewRow gvRow in gv.Rows)
{
strBuilder.Append("<tr>");
for(int j=0;j<gvRow.Cells.Count;j++)
{
if (cell != null)
{
strBuilder.Append("<td>" + gvRow[j].Text + "</td>");
}
else
{
strBuilder.Append("<td></td>");
}
}
strBuilder.Append("</tr>");
}
}
}