【发布时间】:2013-05-25 00:42:04
【问题描述】:
我在 c# 中使用 mysql 和 asp.net。我有一个网格视图,它将显示动态选择的表数据。我能够显示所选表的数据。在第一列中,我在网格视图之外添加了一个复选框和一个按钮。当用户选择复选框并单击按钮时,选定的行必须变成文本框。我能够找到选中的复选框,但我无法将单元格转换为文本框。这是我的代码:
int n = GridView1.HeaderRow.Cells.Count;
for( int i=0; i < GridView1.Rows.Count;i++)
{
GridViewRow row = GridView1.Rows[i];
bool isChecked = ((CheckBox)row.FindControl("CheckBox1")).Checked;
{
for( int j=0;j<n;j++)
{
TextBox txt = ((TextBox)GridView1.Rows[i].Cells[j]).Text;
}
}
}
在这一行:TextBox txt = ((TextBox)GridView1.Rows[i].Cells[j]).Text;
我收到警告:
cannot convert 'System.Web.UI.Controls.TableCell' to type 'System.Web.UI.Controls.TextBox
我无法解决这个问题。请帮忙。谢谢
【问题讨论】:
-
有内置功能可以使gridview数据可编辑;我建议您在重新发明轮子之前对此进行调查。这是 .NET 2.0 中的一个示例,但我认为在最近的版本中并没有很多变化:codeproject.com/Articles/23471/Editable-GridView-in-ASP-NET-2-0
-
TextBox txt = ((TextBox)GridView1.Rows[i].Cells[j]).Text;??????你是如何尝试将字符串的单元格文本转换为 TextBox 类型的控件??????
-
警告说明了一切。请上传aspx页面。
-
问题是我正在使用 mysql 并且我正在动态地将表绑定到我的网格。也就是说,我有一个下拉列表,用户可以从中选择表格。所以我根本不知道列名。我必须动态地做每一件事。这就是为什么我不能使用编辑删除按钮。我尝试在 aspx
<asp:CommandField showEditButton="true">中添加具有以下属性的编辑按钮,我为OnRowEditing="grid_Edit编写了一个函数。在我写的函数中:GridView1.EditIndex = e.NewEditIndex; fill_grid();当我运行它时,它会显示编辑按钮,但是当我点击它时,会发生 nthg