这是场景:
我有一个GridView
有五列
asp:CommandField
设置为readonly
asp:BoundField
设置为readonly
asp:BoundField
设置为readonly
asp:BoundField
设置为readonly
asp:TemplateField
在此字段下具有以下内容。
EditItemTemplate
asp:TextBox
为简单起见,我们假设DataTable
绑定的GridView
只有两行。
我想要实现的是一旦页面加载并且数据表绑定到网格视图我希望网格视图的第一行基于第一行的值处于编辑模式,数据表中的单元格五。通过编辑模式,我的意思是显示TextBox
中的TemplateField
,并显示CommandField
列中的更新按钮。
如果网格视图的第二行基于第二行的值处于正常模式,则数据表中的第五个单元格同时CommandField
列显示更新链接,然后生成TextBox
可在网格视图的第二行上编辑。
细胞值的位置是不加区别的。我知道如何指定要查看哪个单元格以确定行的状态,我只是不知道如何设置要编辑的行状态,以及TextBox
可以在数据源绑定上查看。
答案 0 :(得分:0)
您可以在Grid的DataBound事件或RowDataBound事件上执行:
1)Grid_DataBound:
protected void grid1_DataBound(object sender, EventArgs e)
{
int editIndex = -1;
// find the row index which is editable
grid1.EditIndex = editIndex;
// Set EditIndex = -1 to set the row to normal mode
}
2)RowDataBound
protected void grid1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
bool isEdit = false;
// check for the condition to determine the state of the row
if (isEdit)
{
e.Row.RowState = DataControlRowState.Edit;
}
}
}
希望得到这个帮助。