BataGrid创建模板列(还是没得到解决)
来源:百度文库 编辑:神马文学网 时间:2024/03/28 20:36:38
问:
代码如下:
//绑定到网格
public void BindGrid()
{
CreateFormat();
dbGrid.DataSource=CreateDataSource();
dbGrid.DataBind();
}
public void CreateFormat()
{
//创建绑定列
...
//创建模板列
TemplateColumn myTemplateCol=new TemplateColumn();
ColumnTemplate myCol=new ColumnTemplate("chkEdit");
myTemplateCol.ItemTemplate=myCol;
ColumnTemplate myCol1=new ColumnTemplate("chkHeader");
myTemplateCol.HeaderTemplate=myCol1;
dbGrid.Columns.AddAt(0,myTemplateCol);
}
/// ColumnTemplate 从ITemplate继承。
public class ColumnTemplate : ITemplate
{
public string chkName;
public ColumnTemplate(string strName){
chkName=strName;}
public void InstantiateIn(Control container){
CheckBox cb = new CheckBox();
cb.ID=chkName;
container.Controls.Add(cb); }
}
我怎么在类ColumnTemplate中加入checkbox的事件CheckedChanged?
______________________________________________________________________________________________
答1:
cb.CheckedChanged+=new EventHandler(你的事件);
______________________________________________________________________________________________
答2:
void ITemplate.InstantiateIn(Control container)
{
CheckBox cb = new CheckBox();
cb.ID=chkName;
cb.CheckedChanged += new EventHandler(this.BindData);
container.Controls.Add(cb);
}
public void BindData(object sender, EventArgs e)
{
CheckBox box = (CheckBox) sender;
DataGridItem container = (DataGridItem) box.NamingContainer;
box.Checked = false;
box.Enabled = (readOnly == true) ? false:true;
string data = ((DataRowView) container.DataItem)[dataField].ToString();
Type type = ((DataRowView)
container.DataItem).DataView.Table.Columns[dataField].DataType;
if (data.Length>0)
{
switch (type.ToString())
{
case "System.Boolean":
if ( data == "True")
{
box.Checked = true;
}
break;
default:
break;
}
}
}
______________________________________________________________________________________________
答3:
参考
http://www.codeproject.com/aspnet/datagridcheckbox.asp?print=true
______________________________________________________________________________________________
答4:
http://www.experts-exchange.com/Programming/Programming_Languages/C_Sharp/Q_20821175.html
______________________________________________________________________________________________
答5:
怎么加呀?
代码如下:
//绑定到网格
public void BindGrid()
{
CreateFormat();
dbGrid.DataSource=CreateDataSource();
dbGrid.DataBind();
}
public void CreateFormat()
{
//创建绑定列
...
//创建模板列
TemplateColumn myTemplateCol=new TemplateColumn();
ColumnTemplate myCol=new ColumnTemplate("chkEdit");
myTemplateCol.ItemTemplate=myCol;
ColumnTemplate myCol1=new ColumnTemplate("chkHeader");
myTemplateCol.HeaderTemplate=myCol1;
dbGrid.Columns.AddAt(0,myTemplateCol);
}
/// ColumnTemplate 从ITemplate继承。
public class ColumnTemplate : ITemplate
{
public string chkName;
public ColumnTemplate(string strName){
chkName=strName;}
public void InstantiateIn(Control container){
CheckBox cb = new CheckBox();
cb.ID=chkName;
container.Controls.Add(cb); }
}
我怎么在类ColumnTemplate中加入checkbox的事件CheckedChanged?
______________________________________________________________________________________________
答1:
cb.CheckedChanged+=new EventHandler(你的事件);
______________________________________________________________________________________________
答2:
void ITemplate.InstantiateIn(Control container)
{
CheckBox cb = new CheckBox();
cb.ID=chkName;
cb.CheckedChanged += new EventHandler(this.BindData);
container.Controls.Add(cb);
}
public void BindData(object sender, EventArgs e)
{
CheckBox box = (CheckBox) sender;
DataGridItem container = (DataGridItem) box.NamingContainer;
box.Checked = false;
box.Enabled = (readOnly == true) ? false:true;
string data = ((DataRowView) container.DataItem)[dataField].ToString();
Type type = ((DataRowView)
container.DataItem).DataView.Table.Columns[dataField].DataType;
if (data.Length>0)
{
switch (type.ToString())
{
case "System.Boolean":
if ( data == "True")
{
box.Checked = true;
}
break;
default:
break;
}
}
}
______________________________________________________________________________________________
答3:
参考
http://www.codeproject.com/aspnet/datagridcheckbox.asp?print=true
______________________________________________________________________________________________
答4:
http://www.experts-exchange.com/Programming/Programming_Languages/C_Sharp/Q_20821175.html
______________________________________________________________________________________________
答5:
怎么加呀?
BataGrid创建模板列(还是没得到解决)
创建属于自己的幻灯片模板
创建Normal模板恢复Word2003文档
Dreamweaver中模板的创建与编辑
罗兰夫人没得到自由
Js得到table当期的行号列号
我还是没放下
是为“天下为公”还是“位列公卿”?
收集了数年得到的WORD、EXCEL实用模板
让男人得到还是让男人得手?
电脑没声音如何解决
还是没时间打高尔夫
“好色十强国”没日本?中国列第四网友炮轰
“好色十强国”没日本?中国列第四网友炮轰
没 有 心 眼 的 女 孩一系 列 表 现。
没 有 心 眼 的 女 孩一系 列 表 现
没 有 心 眼 的 女 孩一系 列 表 现。
没 有 心 眼 的 女 孩一系 列 表 现
教育部官员称教育乱收费现象已得到解决
熊丙奇:“乱收费”已经得到解决?(南方都市报 2009-11-14)
封面模板循环子栏目一行两列DIV+CSS成功实现
关羽张飞的兵器为何没在后世得到普及?
关羽张飞的兵器为何没在后世得到普及
浙江GDP增长了民企却没得到复苏