net_lover(孟子E章)都来了。我只有看得分了
解决方案 »
- 为什么Fill()是DataAdapter对象的方法,而不是DataSet()的方法?
- 断点不起作用
- 客户端浏览器如何离线处理程序?
- 怎样判断验证控件是否通过了???
- 一个DataGrid的问题,请高手指教,在线等
- GridView中ItemTemplate问题!高手指点!
- 在asp.NET中使用COM组件
- 在一个aspx文件中怎么样才能调用多个vb文件?
- ★★★★★100分+Google\Baidu中没有找到比较好答案的问题(什么是界面类、实体类、记录集类),您将书写历史★★★★★
- 如何调用填充入Dataset的表中的(唯一的)记录字段内容?
- 如何用一个字符串数组存储多行文本框每行的数据???
- 请问在 vs.net 2003 中如何在项目中添加一个 ashx 文件?
{
ListItemType templateType;
public DataGridTemplate(ListItemType type)
{
templateType = type;
} public void InstantiateIn(System.Web.UI.Control container)
{
switch(templateType)
{
case ListItemType.Header:
break;
case ListItemType.Item:
Panel myPanel = new Panel();
myPanel.ID ="GridPanel";
container.Controls.Add(myPanel);
break;
case ListItemType.EditItem:
break;
case ListItemType.Footer:
break;
}
}
}
这个是实现动态模板的
TemplateColumn Column = new TemplateColumn();
Column.HeaderText = "header";
Column.ItemTemplate = new Callray.Develop.GridItem.DataGridTemplate(ListItemType.Item);
this.D_I_Grid.Columns.AddAt(1,Column);
这个是动态加入模板列的代码
string sql = "select PERSON from D_functionary where taskid =" + e.Item.Cells[0].Text;
this.myDataObject.Open();
SqlDataReader reader = this.myDataObject.rdExecute(sql);
if(reader != null)
{
int i = 0;
while(reader.Read())
{
System.Web.UI.WebControls.LinkButton bt = new LinkButton();
bt.ID = "bt"+ i.ToString();
bt.Text = reader["person"].ToString();
bt.Attributes.Add("id",e.Item.Cells[0].Text);
bt.Click += new System.EventHandler(this.bt_Click);
((Panel)e.Item.FindControl("GridPanel")).Controls.Add(bt);
i++;
}
reader.Close();
}
this.myDataObject.Close();
这个是在ItemDataBound中写的代码
ItemCommand中
if(e.commandname == "view")
{
//代码
}
动态假如的LinkButton的点击事件
private void bt_Click(object sender, System.EventArgs e)
{
this.Response.Redirect("url",true);
}现在我把静态的模板列换成按钮列
<asp:ButtonColumn Text="查看" CommandName="view"></asp:ButtonColumn>
可以运行!