日期:2014-05-17 浏览次数:20589 次
View Code
#region DynamicShow_gdvUpgradeQuery动态增加维度列
private void DynamicShow_gdvDownload(List<DocAttributeEntity> attributeList)
{
//动态加入列之前先将之前加入的列清除,防止重复列出现
for (int i = 0; i < gdvDownload.Columns.Count; i++)
{
if (i > 2 && i < gdvDownload.Columns.Count -5)
{
gdvDownload.Columns[i].Visible = false;
}
}
//gdvDownload 动态增加列
foreach (DocAttributeEntity attribute in attributeList)
{
BoundField field = new BoundField();
field.DataField = attribute.AttName;
field.HeaderText = attribute.AttName;
field.ItemStyle.CssClass = "gdv_pdmItemLeft";
field.HeaderStyle.CssClass = "gdv_pdmItemLeft";
//field.SortExpression = attribute.AttName;
//留最后2个按钮列
gdvDownload.Columns.Insert(gdvDownload.Columns.Count - 5, field);
}
}
#endregion
------解决方案--------------------
像你这种情况.可以在gridview里弄三个DropDownList的模板列 分别命好名 ddl1,ddl2,ddl3
然后..这三个控件可以指定改变事件
而这三个ddl 可以在
protected void GridViewRData_RowDataBound(object sender, GridViewRowEventArgs e)
{
DropDownList ddl1 = e.Row.FindControl("ddl1") as DropDownList;
DropDownList ddl2 = e.Row.FindControl("ddl2") as DropDownList;
DropDownList ddl3 = e.Row.FindControl("ddl3") as DropDownList;
//给三个下拉框绑定数据.至于怎么绑就看你怎么写了
}
//下面是三个下拉框的改变事件..
------解决方案--------------------
大致的思路是这样的:
在添加一行前,首先把gridview中的数据取出放到datatable中,然后再给datatable添加行,添加结束后再把数据绑定到gridview中即可。至于还要添加下拉菜单,提前定义好下拉菜单,然后在给datatable添加行的时候直接添加即可。
------解决方案--------------------
例子
<%@ Page Language="C#" Debug="true" AutoEventWireup="true" EnableEventValidation="true" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&