我重写了 DropDownList 中的DataBind()方法 即一个 cs控件 在页面注册
但是不知道 它的dataSource写到哪 在DataList哪个事件中写 是不是还要用到DropDownList 的render方法
页面代码如下:
上面注册过了
在摸版中这样写的
<FOOTERTEMPLATE>
<tr> <td>
<Env:PolluteOutputDropdownList id="Commondropdownlist1" class="dropdownlist" runat="server" /><
/td>
</tr>
</FOOTERTEMPLATE>
dropDownList 控件方法如下
public class PolluteOutputDropdownList :System.Web.UI.WebControls.DropDownList
{
#region 私有成员
private CommonDeclare1_2Rule m_Common1_2Rule;
private CommonDeclare1_2Unit m_Common1_2Unit;
#endregion #region 属性
/// <summary>
/// 企业编码
/// </summary>
/// public string FactID
{
get
{
if (ViewState["FactID"] == null)
return string.Empty;
return (string)ViewState["FactID"];
}
set
{
ViewState["FactID"] = value;
}
}
#endregion #region 重载方法 public override void DataBind()
{
ArrayList m_List = m_Common1_2Rule.getOutputDropdownList(FactID);
for(int i = 0;i<m_List.Count;i++)
{
m_Common1_2Unit = (CommonDeclare1_2Unit)m_List[i];
Items.Add(new ListItem(m_Common1_2Unit.OutputNameAndID));
}
base.DataBind ();
}
#endregion #region 私有方法
#endregion #region 构造器
public PolluteOutputDropdownList()
{
this.EnableViewState = true;
m_Common1_2Rule = new CommonDeclare1_2Rule();
}
#endregion }
不明白在页面cs文件中在哪个设datasource 和databind
是不是在上面控件中还要写render方法 谢谢大家help!
但是不知道 它的dataSource写到哪 在DataList哪个事件中写 是不是还要用到DropDownList 的render方法
页面代码如下:
上面注册过了
在摸版中这样写的
<FOOTERTEMPLATE>
<tr> <td>
<Env:PolluteOutputDropdownList id="Commondropdownlist1" class="dropdownlist" runat="server" /><
/td>
</tr>
</FOOTERTEMPLATE>
dropDownList 控件方法如下
public class PolluteOutputDropdownList :System.Web.UI.WebControls.DropDownList
{
#region 私有成员
private CommonDeclare1_2Rule m_Common1_2Rule;
private CommonDeclare1_2Unit m_Common1_2Unit;
#endregion #region 属性
/// <summary>
/// 企业编码
/// </summary>
/// public string FactID
{
get
{
if (ViewState["FactID"] == null)
return string.Empty;
return (string)ViewState["FactID"];
}
set
{
ViewState["FactID"] = value;
}
}
#endregion #region 重载方法 public override void DataBind()
{
ArrayList m_List = m_Common1_2Rule.getOutputDropdownList(FactID);
for(int i = 0;i<m_List.Count;i++)
{
m_Common1_2Unit = (CommonDeclare1_2Unit)m_List[i];
Items.Add(new ListItem(m_Common1_2Unit.OutputNameAndID));
}
base.DataBind ();
}
#endregion #region 私有方法
#endregion #region 构造器
public PolluteOutputDropdownList()
{
this.EnableViewState = true;
m_Common1_2Rule = new CommonDeclare1_2Rule();
}
#endregion }
不明白在页面cs文件中在哪个设datasource 和databind
是不是在上面控件中还要写render方法 谢谢大家help!
{
try
{
//this.EnsureChildControls();
//base.DataBind();
base.Render(writer);
}
catch
{}
}
protected override void OnPreRender( EventArgs e )
{
base.OnPreRender(e);
}