Code
1/**//// <summary>
2/// 产生模板
3/// </summary>
4public class GenericItem : ITemplate
5{
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 else
43 {
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 else
64 {
65 Literal l = (Literal)sender;
66 DataGridItem container = (DataGridItem)l.NamingContainer;
67 l.Text = ((DataRowView)container.DataItem)[_column].ToString();
68 }
69 }
70}
1/**//// <summary>
2/// 产生模板
3/// </summary>
4public class GenericItem : ITemplate
5{
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 else
43 {
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 else
64 {
65 Literal l = (Literal)sender;
66 DataGridItem container = (DataGridItem)l.NamingContainer;
67 l.Text = ((DataRowView)container.DataItem)[_column].ToString();
68 }
69 }
70}