GridView1.Rows.Count 未将对象引用设置到对象的实例
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using hfnet;
public partial class admin_GoodsClass : System.Web.UI.Page
{
public GridView GridView1;
//public string init;
//public static string a;
protected void Page_Load(object sender, EventArgs e)
{
Page.RegisterStartupScript("MyScript", "<Script language=javascript defer='true'> autoscroll() </script>");
//if (!IsPostBack)
//{
// bindGridView("商品分类", "商品大类");
// ////bindGridView("品牌", "品牌");
// //a = "商品大类";
//}
}
public void bindGridView(string tablename, string colsname)
{
GridView1 = new GridView();
string sql = @"select ID as 编号," + colsname + " from " + tablename;
DataSet ds = BLL.ExecuteDataSet(BLL.ConnectString, CommandType.Text, sql);
GridView1.DataSource = ds.Tables[0].DefaultView;
GridView1.AutoGenerateColumns = false;
GridView1.RowDataBound+=new GridViewRowEventHandler(GridView1_RowDataBound);
for (int i = 0; i <ds.Tables[0].Columns.Count; i++)
{
BoundField bf = new BoundField();
bf.DataField = ds.Tables[0].Columns[i].ToString();
bf.HeaderText = ds.Tables[0].Columns[i].Caption.ToString();
GridView1.Columns.Add(bf);
}
TemplateField tf = new TemplateField();
tf.ItemTemplate = new MyTemplate("", DataControlRowType.DataRow);
tf.HeaderTemplate = new MyTemplate("", DataControlRowType.Header);
tf.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
GridView1.Columns.Add(tf);
GridView1.DataKeyNames = new string[] { "编号" };
GridView1.DataBind();
//form1.Controls.Add(GridView1);
form1.FindControl("gridview1").Controls.Add(GridView1);
//return GridView1;
//int ii = (int)GridView1.Columns.Count;
}
protected void Button1_Click(object sender, EventArgs e)
{
try
{
string a = ListBox1.SelectedValue;
string b = a;
if (a == "商品分类")
{
b = "商品大类";
}
isinsert(a, b);
}
catch
{
}
}
private void isinsert(string tablename, string colsname)
{
string sql = @"insert into "+tablename+"("+colsname+") values ('" + TextBox1.Text + "')";
if (BLL.ExecuteNonQuery(BLL.ConnectString, CommandType.Text, sql, null) > 0)
{
bindGridView(tablename,colsname);
}
}
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes.Add("onmouseover", "if(this!=prevselitem){this.style.backgroundColor='#Efefef'}");//当鼠标停留时更改背景色
e.Row.Attributes.Add("onmouseout", "if(this!=prevselitem){this.style.backgroundColor='#ffffff'}");//当鼠标移开时还原背景色
e.Row.Attributes.Add("onclick", e.Row.ClientID.ToString() + ".checked=true;selectx(this)");
}
}
protected void LinkButton1_Click(object sender, EventArgs e)
{
isdelete(ListBox1.SelectedValue);
}
private void isdelete(string str)
{
int j = -1;
for (int i = 0; i < GridView1.Rows.Count - 1; i++) //未将对象引用设置到对象的实例
{
CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
if (cbox.Checked == true)
{
string sqlstr = @"delete from " + str + " where ID='" + GridView1.DataKeys[i].Value + "'";
j = BLL.ExecuteNonQuery(BLL.ConnectString, CommandType.Text, sqlstr, null);
}
}
if (j > 0)
{
Response.Write("<script>alert('成功')</script>");
//bindGridView();
}
}
protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
{
try
{
string a = ListBox1.SelectedValue;
string b = a;
if (a == "商品分类")
{
b = "商品大类";
}
bindGridView(a, b);
}
catch
{
}
}
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
}
}
这个问题应该怎么解决呢?