1

/**//// <summary>2
/// 产生模板3
/// </summary>4
public class GenericItem : ITemplate5


{6
private string _column;7
private bool _isEditable;8
//private bool validate;9

10
public GenericItem(string column, bool isEditable)11

{12
this._column = column;13
this._isEditable = isEditable;14
}15

16
public GenericItem(string column, string controlType)17

{18
this._column = column;19
}20

/**//// <summary>21
/// 实现接口22
/// </summary>23
/// <param name="container"></param>24
public void InstantiateIn(Control container)25

{26
if (_isEditable)27

{28
TextBox tb = new TextBox();29
tb.DataBinding += new EventHandler(this.BindData);30
container.Controls.Add(tb);31
tb.ID = _column;32

33
//禁止数据为空34
RequiredFieldValidator rfv = new RequiredFieldValidator();35
rfv.Text = "Please Answer";36
rfv.ControlToValidate = tb.ID;37
rfv.Display = ValidatorDisplay.Dynamic;38

39
rfv.ID = "validate" + tb.ID;40
container.Controls.Add(rfv);41
}42
else43

{44
Literal l = new Literal();45
l.DataBinding += new EventHandler(this.BindData);46
container.Controls.Add(l);47
}48
}49

50

/**//// <summary>51
/// 数据绑定52
/// </summary>53
/// <param name="sender"></param>54
/// <param name="e"></param>55
public void BindData(object sender, EventArgs e)56

{57
if (_isEditable)58

{59
TextBox tb = (TextBox)sender;60
DataGridItem container = (DataGridItem)tb.NamingContainer;61
tb.Text = ((DataRowView)container.DataItem)[_column].ToString();62
}63
else64

{65
Literal l = (Literal)sender;66
DataGridItem container = (DataGridItem)l.NamingContainer;67
l.Text = ((DataRowView)container.DataItem)[_column].ToString();68
}69
}70
}
浙公网安备 33010602011771号