SqlConnection con = new SqlConnection("server=localhost;database=pubs;uid=sa;pwd=sa");
SqlCommand com = new SqlCommand();
com.Connection = con;
com.CommandType = CommandType.StoredProcedure;
com.CommandText = "GetRecordFromPage";
com.Parameters.Add("@tblName","userinfo");
com.Parameters.Add("@fldName","id");
com.Parameters.Add("@PageSize",Convert.ToInt32(this.DataGrid1.PageSize.ToString()));
com.Parameters.Add("@PageIndex",Int32.Parse(this.DataGrid1.CurrentPageIndex.ToString())+1);
com.Parameters.Add("@strWhere","");
SqlDataReader dr;
com.Connection.Open();
dr = com.ExecuteReader();
this.DataGrid1.VirtualItemCount = Calc();//请解VirtualItemCount
this.DataGrid1.DataSource = dr;
this.DataGrid1.DataBind();
dr.Close();
com.Connection.Close();
邦定的时候必须设置VirtualItemCount的值,这样会影响性能吗?也就是说设置为100和1000000的速度会一样吗?如果不一样的话,请问还有没有其他的方法邦定数据源
SqlCommand com = new SqlCommand();
com.Connection = con;
com.CommandType = CommandType.StoredProcedure;
com.CommandText = "GetRecordFromPage";
com.Parameters.Add("@tblName","userinfo");
com.Parameters.Add("@fldName","id");
com.Parameters.Add("@PageSize",Convert.ToInt32(this.DataGrid1.PageSize.ToString()));
com.Parameters.Add("@PageIndex",Int32.Parse(this.DataGrid1.CurrentPageIndex.ToString())+1);
com.Parameters.Add("@strWhere","");
SqlDataReader dr;
com.Connection.Open();
dr = com.ExecuteReader();
this.DataGrid1.VirtualItemCount = Calc();//请解VirtualItemCount
this.DataGrid1.DataSource = dr;
this.DataGrid1.DataBind();
dr.Close();
com.Connection.Close();
邦定的时候必须设置VirtualItemCount的值,这样会影响性能吗?也就是说设置为100和1000000的速度会一样吗?如果不一样的话,请问还有没有其他的方法邦定数据源
不管是哪个值,若你的实际count都小于100的话,
VirtualItemCount 设置100与更大应是没影响
但若超过了就会不一样
因为实际上Grid在判断时采取的执行过程是定的
我想想了一下,把这句放在Page_Load里面
这样我感觉 DataGrid每次应该就加载pagesize条数据了不知道这样对不对