我有一个Telerik RadGrid。使用一种方法,我正在填充网格。我已启用页面调度属性。我已经使用ItemTemplate-> ImageButton删除和编辑选项。我已将页面大小设置为10。页面加载时间正常工作并填充了网格。插入第11行后,分页开始,它将显示在下一页并显示一条记录。但是,当我删除第11行时,网格变为空白。我已经使用数据集来绑定记录。
radgrid.DataBind();
dsDataset.Dispose();
但是其
item.count
为0。这是什么原因?protected void Page_Load(object sender, EventArgs e)
{
try
{
if (!IsPostBack)
{
PopulatePackage();
}
}
catch (Exception ex)
{
lblMessage.Text = objUtl.GetErrorMessage(ex, this);
lblMessage.Visible = true;
protected void gvPackage_NeedDataSource(object source, GridNeedDataSourceEventArgs e)
{
try
{
SqlHelper objSQL = new SqlHelper();
DataSet dsPackage = new DataSet();
dsPackage = objSQL.ExecuteDataset("AL_PackageType_List_Retrieve", objUtl.NumericEntry(Session["LocationId"].ToString()));
gvPackage.DataSource = dsPackage.Tables[0];
dsPackage.Dispose();
//PopulatePackage();
}
catch (Exception ex)
{
lblMessage.Text = objUtl.GetErrorMessage(ex, this);
lblMessage.Visible = true;
}
}
private void PopulatePackage()
{
try
{
lblMessage.Text = string.Empty;
SqlHelper objSQL = new SqlHelper();
DataSet dsPackage = new DataSet();
dsPackage = objSQL.ExecuteDataset("AL_PackageType_List_Retrieve", objUtl.NumericEntry(Session["LocationId"].ToString()));
gvPackage.DataSource = null;
gvPackage.DataSource = dsPackage.Tables[0];
gvPackage.DataBind();
//dsPackage.Dispose();
if (gvPackage.Items.Count <= 0)
{
lblMessage.Text = "No Package Details Found...";
gvPackage.Visible = false;
}
else
{
gvPackage.Visible = true;
}
}
catch (Exception ex)
{
lblMessage.Text = objUtl.GetErrorMessage(ex, this);
lblMessage.Visible = true;
}
}
最佳答案
就我所知,您有一个radgrid,其中允许分页并将页面大小设置为10。插入第11条记录后,将显示包含第11条记录的新页面。当删除第11条记录时,您正在查看空白页面,而不是显示记录为1到10的页面。我希望我在这里。
无论如何。我想问题是Radgrid没有您正在查看的页面的数据。
RadGrid中有一个名为NeedDataSource的事件。每当RadGrid需要显示数据时,都会触发此事件。您可以在此事件中调用Binding逻辑,然后查看它是否对您有用。
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindGrid();
}
}
private void BindGrid()
{
RadGrid1.DataSource = "BindingSource";
RadGrid1.DataBind();
}
protected void RadGrid1_NeedDataSource(object sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
{
BindGrid();
}
看看是否适合您。