2009-02-04 2 views
0

Мне нужно установить свойство «ReadOnly» BoundField в GridView на значение битового поля в наборе записей, которое отображается тем же GridView.Использование данных для установки свойств GridView

Я знаю, что мог бы достичь этого в коде, но мне было интересно, из интереса, если это возможно сделать декларативно внутри свойства, используя <%%> фрагмент?

Приветствия,

Джейми

ответ

1

Да, вы можете это сделать. Создание TemplatedField и в обязательности заявления использовать либо

<%# ((Employee)Container.DataItem).IsApproved ? "yes" : "no" %> 

или вы можете использовать метод из кода-за

<%# FormatBool(((Employee)Container.DataItem).IsApproved) %> 

где FormatBool это свойство в коде-за

protected string FormatBool(bool value) 
{ 
    if (value) 
     return "yes"; 
    return "no"; 
} 
0

Если вам нужно связать со свойствами, я хотел бы использовать TemplateField, а затем установить поведение там. Это только в том случае, если вы не можете использовать код, иначе это ваш лучший выбор.

Я не думаю, что есть способ связать детали BoundColumn напрямую.

0

Мне не удалось найти способ манипулирования свойствами BoundField или TemplateField декларативно на основе данных DetailView.

Bendewey очень любезно предположил, что я привязываюсь к бизнес-объекту, когда на самом деле я имею дело с данными непосредственно в этом случае - извинения за то, что вы не поняли этого.

Мое решение в код был следующим:

protected void DetailsView1_DataBound(object sender, EventArgs e) 
    { 
     DetailsView dv = (DetailsView)sender; 

     if (dv.DataItemCount > 0) 
     { 
      DataRowView data = (DataRowView)dv.DataItem; 
      bool isFixed = (bool)data["IsFixed"]; 

      if (isFixed) 
      { 
       dv.Rows[2].Enabled = false; 
       dv.Rows[6].Enabled = false; 
      } 
     } 
    } 

Я был разочаровала, что я должен был ссылаться на строки, которые я хотел, чтобы отключить по индексу. Возможно, есть способ ссылки на эти строки по их полем данных без повторения всех строк, но я не мог найти его на первый взгляд.

Спасибо за помощь!

Смежные вопросы