datagrid中DropDownList绑定Dataset 的探究 未将对象引用设置到对象的实例 错误
来源:互联网 发布:mac 10.13 vmtools 编辑:程序博客网 时间:2024/05/16 17:30
致歉,由于分类变动疏忽造成部分丢失,现补上
datagrid中DropDownList绑定Dataset 首先要增加OnItemDataBound事件
OnItemDataBound="MyDataGrid_Bound"
<asp:DataGrid CssClass="Heder" ID="MyDataGrid" runat="server" align="center" AutoGenerateColumns="False"
BorderStyle="Ridge" DataKeyField="selfid" AllowPaging="True" PageSize="30" PagerStyle-Mode="NumericPages"
PagerStyle-HorizontalAlign="Right" PagerStyle-NextPageText="下一页" PagerStyle-PrevPageText="上一页"
OnPageIndexChanged="MyDataGrid_Page" BorderWidth="1px" Width="100%" OnUpdateCommand="MyDataGrid_Update"
OnCancelCommand="MyDataGrid_Cancel" OnEditCommand="MyDataGrid_Edit" OnItemDataBound="MyDataGrid_Bound">
<SelectedItemStyle CssClass="SelectedItemStyle"></SelectedItemStyle>
<ItemStyle CssClass="ItemStyle"></ItemStyle>
<HeaderStyle CssClass="HeaderStyle"></HeaderStyle>
<AlternatingItemStyle CssClass="AlternatingItemStyle"></AlternatingItemStyle>
<PagerStyle CssClass="PagerStyle" HorizontalAlign="Right" Mode="NumericPages" NextPageText="下一页"
PrevPageText="上一页"></PagerStyle>
<Columns>
<asp:TemplateColumn HeaderText="原料类型">
<ItemStyle Wrap="False" HorizontalAlign="Center"></ItemStyle>
<ItemTemplate>
<asp:Label runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Yllxmc") %>'
Style="width: 25; height: 18" ID="Yllxm" />
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="edit_oYllxID" runat="server" Style="width: 100%; height: 18">
</asp:DropDownList>
<asp:HiddenField ID="hid_oYllxID" runat="server" Value='<%# DataBinder.Eval(Container.DataItem, "YllxID") %>' />
</EditItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
//从数据库中取数据向DropDownList中填充
protected void MyDataGrid_Bound(object sender, DataGridItemEventArgs e)
{
DataSet DS = new DataSet();
string selectCommond;
StringBuilder sqlStringBuilder = new StringBuilder();
DropDownList templist = (DropDownList)e.Item.FindControl("edit_oYllxID");
HiddenField yllxid = (HiddenField)e.Item.FindControl("hid_oYllxID");
sqlStringBuilder.Append(" select 0 as selfid,'请选择...' as Yllxmc ");
sqlStringBuilder.Append(" union all ");
sqlStringBuilder.Append(" select selfid,Yllxmc ");
sqlStringBuilder.Append(" from Cggl_Yllx");
sqlStringBuilder.Append(" WHERE Kybj=1 ");
sqlStringBuilder.Append(" order by selfid,Yllxmc ");
selectCommond = sqlStringBuilder.ToString();
dataBaseControl.Get_Ds(selectCommond, DS, "Yllx");
templist.DataSource = DS.Tables["Yllx"];
templist.DataTextField = "Yllxmc";
templist.DataValueField = "selfid";
templist.DataBind();
templist.SelectedValue = yllxid.Value.Trim();
}
这时会在页面加载时报 未将对象引用设置到对象的实例 错误
因为在加载时,不是编辑状态,这时DropDownList 还未被在创建,
只需作如下变动
//从数据库中取数据向DropDownList中填充
protected void MyDataGrid_Bound(object sender, DataGridItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.EditItem)
{
DataSet DS = new DataSet();
string selectCommond;
StringBuilder sqlStringBuilder = new StringBuilder();
DropDownList templist = (DropDownList)e.Item.FindControl("edit_oYllxID");
HiddenField yllxid = (HiddenField)e.Item.FindControl("hid_oYllxID");
sqlStringBuilder.Append(" select 0 as selfid,'请选择...' as Yllxmc ");
sqlStringBuilder.Append(" union all ");
sqlStringBuilder.Append(" select selfid,Yllxmc ");
sqlStringBuilder.Append(" from Cggl_Yllx");
sqlStringBuilder.Append(" WHERE Kybj=1 ");
sqlStringBuilder.Append(" order by selfid,Yllxmc ");
selectCommond = sqlStringBuilder.ToString();
dataBaseControl.Get_Ds(selectCommond, DS, "Yllx");
templist.DataSource = DS.Tables["Yllx"];
templist.DataTextField = "Yllxmc";
templist.DataValueField = "selfid";
templist.DataBind();
templist.SelectedValue = yllxid.Value.Trim();
}
}
- datagrid中DropDownList绑定Dataset 的探究 未将对象引用设置到对象的实例 错误
- 未将对象引用设置到对象的实例之DropDownList
- 关于DropDownList未将对象引用设置到对象的实例
- winform中出现错误“未将对象引用设置到对象的实例”的原因
- [转]visual studio2005中“未将对象引用设置到对象的实例”错误解决办法
- C#程序中报“未将对象引用设置到对象的实例” 错误
- visual studio2005中“未将对象引用设置到对象的实例”错误解决办法
- ashx页面中 Session值出现“未将对象引用设置到对象的实例”错误
- ashx页面中 Session值出现“未将对象引用设置到对象的实例”错误
- ashx页面中 Session值出现“未将对象引用设置到对象的实例”错误
- 未将对象引用设置到对象的实例"
- 未将对象引用设置到对象的实例
- 未将对象引用设置到对象的实例
- session未将对象引用设置到对象的实例
- 未将对象引用设置到对象的实例
- 未将对象引用设置到对象的实例
- ConfigurationManager:未将对象引用设置到对象的实例。
- 未将对象引用设置到对象的实例 解决办法
- 避免重复打开程序
- datatable中进行行列的转置
- 在SQLServer2005中实现表的行列转换
- 你在干什么?
- .net 2.0(c#)下简单的FTP应用程序
- datagrid中DropDownList绑定Dataset 的探究 未将对象引用设置到对象的实例 错误
- Hashtable的用法
- Delphi中MessageBox的用法
- JS办法处理CheckBoxList生成的br
- ArrayList用法
- 用window.location.href实现刷新另个框架页面
- Silverlight是什么?
- onscroll事件导致flash叠影效果--setTimeout的妙用
- Java如何MyEclipse Derby数据