This is a migrated thread and some comments may be shown as answers.

grid edit

1 Answer 63 Views
Grid
This is a migrated thread and some comments may be shown as answers.
hoda
Top achievements
Rank 1
hoda asked on 10 Jan 2011, 08:55 AM

Hi
I use this code for invisibling components in grid when I click on "Add New Record" but in running program the error "Object reference not set to an instance of an object." occured. how can I write this code that not cause this error?

 

 

 

 

 

 

public partial class Permissions : System.Web.UI.Page

 

 

 

 

 

{

 

 

protected void Page_Load(object sender, EventArgs e)

 

{

rwmSuccessPM.Visible =

 

false;

 

}

 

 

private void InitalizeGroupGrid()

 

{

 

 

IQueryable<CDS.Savin.DataAccess.tS000Group> groups = CDS.Savin.Logic.BusinessObjects.UI.Groups.RetriveAll();

 

 

 

this.grdGroups.DataSource = groups;

 

 

 

this.grdGroups.DataBind();

 

}

 

 

protected void grdGroups_NeedDataSource(object source, GridNeedDataSourceEventArgs e)

 

{

 

 

IQueryable<CDS.Savin.DataAccess.tS000Group> groups = CDS.Savin.Logic.BusinessObjects.UI.Groups.RetriveAll();

 

 

 

this.grdGroups.DataSource = groups;

 

}

 

 

protected void grdGroups_EditCommand(object source, GridCommandEventArgs e)

 

{

 

 

 

 

 

 

 

GridDataItem item = (GridDataItem)e.Item;

 

rowindex = item.ItemIndex;

 

 

String id = item.GetDataKeyValue("GroupID").ToString();

 

Session[

 

"GroupID"] = id;

 

 

 

 

 

 

 

}

 

 

int rowindex = -1;

 

 

 

 

protected void grdGroups_ItemCommand(object source, GridCommandEventArgs e)

 

{

 

 

//GridEditFormInsertItem editItem = (GridEditFormInsertItem)grdGroups.MasterTableView.GetInsertItem();

 

 

 

 

 

 

 

// System.Web.UI.UserControl userControl = (System.Web.UI.UserControl)editItem.FindControl(GridEditFormItem.EditFormUserControlID);

 

 

 

 

 

 

 

//if (e.CommandName == RadGrid.EditCommandName)

 

 

 

 

 

 

 

//{

 

 

 

 

 

 

 

// GridDataItem item = (GridDataItem)e.Item;

 

 

 

 

 

 

 

// rowindex = item.ItemIndex;

 

 

 

 

 

 

 

//}

 

 

 

 

 

 

 

switch (e.CommandName)

 

{

 

 

case RadGrid.InitInsertCommandName:

 

{

 

 

 

 

System.Web.UI.

 

UserControl userControl = (System.Web.UI.UserControl)e.Item.FindControl(GridEditFormItem.EditFormUserControlID);

 

 

 

 

 

 

 

RadGrid Grid1 = (RadGrid)userControl.FindControl("PermissionGrid");

 

Grid1.Visible =

 

false;

 

 

 

CheckBox chkWrite = (CheckBox)userControl.FindControl("chkWrite");

 

chkWrite.Visible =

 

false;

 

 

 

CheckBox chkRead = (CheckBox)userControl.FindControl("chkRead");

 

chkRead.Visible =

 

false;

 

 

 

CheckBox chkModify = (CheckBox)userControl.FindControl("chkModify");

 

chkModify.Visible =

 

false;

 

 

 

CheckBox chkDelete = (CheckBox)userControl.FindControl("chkDelete");

 

chkDelete.Visible =

 

false;

 

 

 

break;

 

}

 

 

 

case "Delete":

 

{

 

 

 

 

}

 

 

protected void grdGroups_PreRender(object sender, EventArgs e)

 

{

 

 

if (grdGroups.MasterTableView.IsItemInserted)

 

{

 

 

GridEditFormInsertItem editItem = (GridEditFormInsertItem)grdGroups.MasterTableView.GetInsertItem();

 

System.Web.UI.

 

UserControl userControl = (System.Web.UI.UserControl)editItem.FindControl(GridEditFormItem.EditFormUserControlID);

 

 

 

TextBox txtbox = (TextBox)userControl.FindControl("txtGroupName");

 

 

 

RadGrid Grid1 = (RadGrid)userControl.FindControl("PermissionGrid");

 

 

 

 

 

}

 

 

if (rowindex > -1)

 

{

 

 

GridEditFormItem editItem = (GridEditFormItem)grdGroups.MasterTableView.GetItems(GridItemType.EditFormItem)[rowindex];

 

 

 

GridDataItem item = (GridDataItem)editItem.ParentItem;

 

System.Web.UI.

 

UserControl userControl = (System.Web.UI.UserControl)editItem.FindControl(GridEditFormItem.EditFormUserControlID);

 

 

 

TextBox txtbox = (TextBox)userControl.FindControl("txtGroupName");

 

 

 

 

 

rowindex = 1;

 

 

IQueryable<CDS.Savin.DataAccess.tS000Group> GroupName = CDS.Savin.Logic.BusinessObjects.UI.Groups.RetriveGroupName(int.Parse(item.Cells[3].Text));

 

txtbox.Text = GroupName.First().GroupName;

 

 

RadGrid Grid1 = (RadGrid)userControl.FindControl("PermissionGrid");

 

Grid1.DataSource = CDS.Savin.Logic.BusinessObjects.UI.

 

GroupPermissions.Retrieve(int.Parse(item.Cells[3].Text));

 

Grid1.DataBind();

 

 

 

 

 

 

 

 

 

 

 

 

rowindex = -1;

}

 

 

 

 

}

 

}

 

1 Answer, 1 is accepted

Sort by
0
Princy
Top achievements
Rank 2
answered on 10 Jan 2011, 11:30 AM
Hello Hoda,

If you want to hide the controls in insert form, access the control and hide it in ItemDataBound like below.

C#:
protected void grdGroups_ItemDataBound(object sender, GridItemEventArgs e)
    {
        if (e.Item is GridEditFormInsertItem && e.Item.OwnerTableView.IsItemInserted)
        {
            UserControl userControl = (System.Web.UI.UserControl)e.Item.FindControl(GridEditFormItem.EditFormUserControlID);
            CheckBox chkWrite = (CheckBox)userControl.FindControl("chkWrite");
        chkWrite.Visible =false;
        }
    }

Thanks,
Princy.
Tags
Grid
Asked by
hoda
Top achievements
Rank 1
Answers by
Princy
Top achievements
Rank 2
Share this question
or