Set Gridview Edit cell to Readonly Bug

V

vinda

Hello,

I have this strange bug with a gridview thats got me rather puzzled.

I have a Gridview assigned to an ObjectDataSource.

I want to set one of the cells to be Readonly so that you can't change
this value when you edit the row. But I can't set Readonly directly in
the BoundField tag as I want this field to be Readonly only with
objects bound to that row that have a boolean value of 1, in cases of 0
they can edit this.

I added the code below thinking this would be the best way to do this,
but I get a stackOverflow exception as it keeps calling the method
assigned to the "SelectMethod" of the ObjectDataSource whilst executing
this code.

Without setting the Readonly property below, it all works fine. With
it, it gets stuck in some kind of loop. Can anyone explain why this is
happening and a possible solution?

By the way, this also happens if I try to make the BoundField not
visible.



protected void grid_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
MyObj obj = (MyObj)e.Row.DataItem;

if (obj.IsTrue == true)
{
DataControlFieldCell cell =
((DataControlFieldCell)e.Row.Controls[2]);
BoundField field1 = (BoundField)(cell.ContainingField);
field1.ReadOnly = true;
}
}
}
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,019
Latest member
RoxannaSta

Latest Threads

Top