<EditItemTemplate>
<mbcbb:ComboBox id=ComboBox2 runat="server" Width="104px"></mbcbb:ComboBox>
</EditItemTemplate>
-----------以上是datagrid模板列的ComboBox控件,此控件类似于dropdownlist既可输入文字又有下拉列表.
-----------下面是后以代码:
protected MetaBuilders.WebControls.ComboBox ComboBox1;
protected System.Web.UI.WebControls.DataGrid DGzb; private void Page_Load(object sender, System.EventArgs e)
{
if(!this.IsPostBack)
{
BindBjzbData();
}
}
private void BindBjzbData() //用于绑定datagrid
{
SqlConnection myCon = new SqlConnection(DB.dbOms.conStrW);
String cmdTxt="select * from bjzb3";
SqlDataAdapter sda=new SqlDataAdapter(cmdTxt,myCon);
myCon.Open();
DataSet ds=new DataSet();
sda.Fill(ds,"bjzb3");
this.DGzb.DataKeyField="id";
this.DGzb.DataSource=ds.Tables["bjzb3"];
this.DGzb.DataBind();
myCon.Close(); }
//===========datagrid的temDataBound事件
private void DGzb_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
{
((LinkButton)(e.Item.Cells[16].Controls[0])).Attributes.Add("onclick","return confirm('你确认删除吗?')");
//---------------------下面代码是用于绑定datagrid中的ComboBox控件
Label t=(System.Web.UI.WebControls.Label)e.Item.FindControl("label1"); SqlConnection myCon = new SqlConnection(DB.dbOms.conStrW);
String cmdTxt="select * from bjzb3";
SqlDataAdapter sda2=new SqlDataAdapter(cmdTxt,myCon);
myCon.Open();
DataSet ds=new DataSet();
sda2.Fill(ds,"tab");
MetaBuilders.WebControls.ComboBox ddl=(MetaBuilders.WebControls.ComboBox)e.Item.FindControl("ComboBox2");
ddl.DataSource=ds.Tables["tab"].DefaultView;
ddl.DataTextField="型号";
ddl.DataValueField="id";
ddl.DataBind();
//ddl.Items.Insert(0,new ListItem(t.txt,""));
//ddl.SelectedIndex=ddl.Items.IndexOf(ddl.Items.FindByValue(t.Text));
myCon.Close(); }
}
//================运行时出现以下错误!
未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误:
行 131: sda2.Fill(ds,"tab");
行 132: MetaBuilders.WebControls.ComboBox ddl=(MetaBuilders.WebControls.ComboBox)e.Item.FindControl("ComboBox2");
行 133: ddl.DataSource=ds.Tables["tab"].DefaultView; //-----错误行
行 134: ddl.DataTextField="型号";
行 135: ddl.DataValueField="id";
//==============我将绑定datagrid中的ComboBox控件的代码放到编辑事件里(DGzb_EditCommand)也会出现同样的问题!
//===========我查过许多相关"在DataGrid1中如何绑定DropDownList项"的资料,一直没有解决这个问题!急死我了,请高手多多指点!
<mbcbb:ComboBox id=ComboBox2 runat="server" Width="104px"></mbcbb:ComboBox>
</EditItemTemplate>
-----------以上是datagrid模板列的ComboBox控件,此控件类似于dropdownlist既可输入文字又有下拉列表.
-----------下面是后以代码:
protected MetaBuilders.WebControls.ComboBox ComboBox1;
protected System.Web.UI.WebControls.DataGrid DGzb; private void Page_Load(object sender, System.EventArgs e)
{
if(!this.IsPostBack)
{
BindBjzbData();
}
}
private void BindBjzbData() //用于绑定datagrid
{
SqlConnection myCon = new SqlConnection(DB.dbOms.conStrW);
String cmdTxt="select * from bjzb3";
SqlDataAdapter sda=new SqlDataAdapter(cmdTxt,myCon);
myCon.Open();
DataSet ds=new DataSet();
sda.Fill(ds,"bjzb3");
this.DGzb.DataKeyField="id";
this.DGzb.DataSource=ds.Tables["bjzb3"];
this.DGzb.DataBind();
myCon.Close(); }
//===========datagrid的temDataBound事件
private void DGzb_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
{
((LinkButton)(e.Item.Cells[16].Controls[0])).Attributes.Add("onclick","return confirm('你确认删除吗?')");
//---------------------下面代码是用于绑定datagrid中的ComboBox控件
Label t=(System.Web.UI.WebControls.Label)e.Item.FindControl("label1"); SqlConnection myCon = new SqlConnection(DB.dbOms.conStrW);
String cmdTxt="select * from bjzb3";
SqlDataAdapter sda2=new SqlDataAdapter(cmdTxt,myCon);
myCon.Open();
DataSet ds=new DataSet();
sda2.Fill(ds,"tab");
MetaBuilders.WebControls.ComboBox ddl=(MetaBuilders.WebControls.ComboBox)e.Item.FindControl("ComboBox2");
ddl.DataSource=ds.Tables["tab"].DefaultView;
ddl.DataTextField="型号";
ddl.DataValueField="id";
ddl.DataBind();
//ddl.Items.Insert(0,new ListItem(t.txt,""));
//ddl.SelectedIndex=ddl.Items.IndexOf(ddl.Items.FindByValue(t.Text));
myCon.Close(); }
}
//================运行时出现以下错误!
未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误:
行 131: sda2.Fill(ds,"tab");
行 132: MetaBuilders.WebControls.ComboBox ddl=(MetaBuilders.WebControls.ComboBox)e.Item.FindControl("ComboBox2");
行 133: ddl.DataSource=ds.Tables["tab"].DefaultView; //-----错误行
行 134: ddl.DataTextField="型号";
行 135: ddl.DataValueField="id";
//==============我将绑定datagrid中的ComboBox控件的代码放到编辑事件里(DGzb_EditCommand)也会出现同样的问题!
//===========我查过许多相关"在DataGrid1中如何绑定DropDownList项"的资料,一直没有解决这个问题!急死我了,请高手多多指点!
解决方案 »
- 使用FileUpload上传excel问题
- 在aspx页面中实现查询结果数据的超链接形式显示,在线等。。。。
- AJAX session丢失 问题 神啊救救我吧
- 存储过程参数问题
- dropdownlist控件如何关联textbox控件?
- [推荐]精品OA下载(包括完整的源程序、文档及数据库)
- 请教 Web控件的下拉框及联问题 谢谢
- 如何把一个时间变为从1900年开始的绝对秒数, 反之,从绝对秒数怎么转换回来时间 ?(C#)
- 如何清空HTMLUNPUTFILE(上传控件)中选定的文件?
- 很奇怪的问题
- 菜鸟求救"50分"Web Service的使用
- 如何用一条语句,把符合条件的记录中的字符串的字段值更新。
(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.EditItem||e.Item.ItemType==ListItemType.AlternatingItem)
Label t=(System.Web.UI.WebControls.Label)e.Item.FindControl("label1");
if(t != null)
{
....
}
if(e.Item.ItemType == ListItemType.EditItem)
{
MetaBuilders.WebControls.ComboBox ddl=(MetaBuilders.WebControls.ComboBox)e.Item.FindControl("ComboBox2");
}