删除RadGrid中的第11行会使其变为空白

时间:2010-11-15 06:18:30

标签: c# asp.net telerik radgrid

我有一个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;
    }
}

1 个答案:

答案 0 :(得分:0)

好的,据我所知,你有一个radgrid,你可以在其中允许分页并将页面大小设置为10.在插入第11条记录时,会显示一个包含第11条记录的新页面。当第11条记录被删除时,您正在查看空白页面,而不是显示从1到10的记录页面。我希望我就在这里。

反正。我想问题是Radgrid没有你正在查看的页面的数据。

RadGrid中有一个名为NeedDataSource的事件。只要RadGrid需要显示数据,就会触发此事件。您可以在此事件中调用绑定逻辑,看看它是否适合您。

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();
}

看看这对你有用..