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

Second time bind not properly

14 Answers 190 Views
Grid
This is a migrated thread and some comments may be shown as answers.
mohamed
Top achievements
Rank 1
mohamed asked on 28 May 2011, 06:28 AM
Here the image i bind radgrid some records through needdatasource ,
After that when i click the show inactive button ,
Asset inactive field checked items only come ,
Here not come first time bind only show,

This's My code ,
Click show inactive else part go and properly get but show first time bind only

if (showinactive == "0")
                {
                    using (var db = new TBSHelpDeskDataContext(Globals.strCon))
                    {
                        var orgModel = (from d in db.Assets where d.Asset_Inactive == false select new { d.AssetName, d.SerialNumber, d.Asset_UserID, d.Asset_Inactive }).ToList();
                        int i = orgModel.Count;
                        if (i > 0)
                        {
                            var orgass = (from d in db.Assets join org in db.Peoples on d.Asset_UserID equals org.PeopleID select new { d.AssetID, d.AssetName, d.SerialNumber, org.ppl_Name, d.Asset_UserID, d.Asset_Inactive }).ToList();
                            RadGrid1.DataSource = orgass;
                            GridColumn chkbox = RadGrid1.MasterTableView.GetColumnSafe("Asset_Inactive");
                            chkbox.Visible = true;
                        }
                        else
                        {
                            var orgass1 = (from d in db.Assets join org in db.Peoples on d.Asset_UserID equals org.PeopleID select new { d.AssetID,        d.AssetName, d.SerialNumber, org.ppl_Name, d.Asset_UserID, d.Asset_Inactive }).ToList();
                            RadGrid1.DataSource = orgass1;
                            GridColumn chkbox = RadGrid1.MasterTableView.GetColumnSafe("Asset_Inactive");
                            chkbox.Visible = false;
                        }
                    }
                }
                else
                {
                    using (var db = new TBSHelpDeskDataContext(Globals.strCon))
                    {
                        var orgModel = (from d in db.Assets where d.Asset_Inactive == true select new { d.AssetName, d.SerialNumber, d.Asset_UserID, d.Asset_Inactive }).ToList();
                        int i = orgModel.Count;

                        if (i > 0)
                        {
                            var orgass = (from d in db.Assets join org in db.Peoples on d.Asset_UserID equals org.PeopleID where d.Asset_Inactive == true select new { d.AssetID, d.AssetName, d.SerialNumber, org.ppl_Name, d.Asset_UserID, d.Asset_Inactive }).ToList();
                            RadGrid1.DataSource = orgass;
                            showinactive = "0";
                        }
                    }
                }



Thanks,
Mohamed.

14 Answers, 1 is accepted

Sort by
0
Iana Tsolova
Telerik team
answered on 30 May 2011, 12:45 PM
Hello mohamed,

You should explicitly rebind the grid for the changes to be applied on the first button click.
Check it out and let me know if it helps.

All the best,
Iana
the Telerik team

Browse the vast support resources we have to jump start your development with RadControls for ASP.NET AJAX. See how to integrate our AJAX controls seamlessly in SharePoint 2007/2010 visiting our common SharePoint portal.

0
mohamed
Top achievements
Rank 1
answered on 30 May 2011, 12:53 PM
Thanks for ur reply.

i rebind the grid in button click event ,
everything come right but assign only the problem.

Thanks,
Mohamed.
0
Iana Tsolova
Telerik team
answered on 30 May 2011, 02:11 PM
Hello mohamed,

I am not sure if I properly understand what happened after you rebound the grid explicitly. Can you elaborate if it helped or other issues occurred?

Kind regards,
Iana
the Telerik team

Browse the vast support resources we have to jump start your development with RadControls for ASP.NET AJAX. See how to integrate our AJAX controls seamlessly in SharePoint 2007/2010 visiting our common SharePoint portal.

0
mohamed
Top achievements
Rank 1
answered on 30 May 2011, 02:32 PM
Hello lana,

1.in page load i bind active and inactive record in that grid
2.after that i click button show inactive
3.active records only bind in that grid
4.this's button click procedure
var orgass = (from d in db.Assets join org in db.Peoples on d.Asset_UserID equals org.PeopleID where d.Asset_Inactive == true select new { d.AssetID, d.AssetName, d.SerialNumber, org.ppl_Name, d.Asset_UserID, d.Asset_Inactive }).ToList();
                            RadGrid1.DataSource = orgass;
5.here  the result's come only inactive record ,
6.but in grid shows all the records

Thanks,
Mohamed
0
Jayesh Goyani
Top achievements
Rank 2
answered on 31 May 2011, 06:46 AM
Hi,

plz try below code and let me know if any concern.(if u still not able to solve issue than please send your code so we can find the actual problem.)

<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
       <AjaxSettings>
           <telerik:AjaxSetting AjaxControlID="RadButton1">
               <UpdatedControls>
                   <telerik:AjaxUpdatedControl ControlID="RadGrid1" />
               </UpdatedControls>
           </telerik:AjaxSetting>
       </AjaxSettings>
   </telerik:RadAjaxManager>
   <div>
   <telerik:RadGrid ID="RadGrid1" runat="server"></telerik:RadGrid>
   <br />
   <telerik:RadButton ID="RadButton1" Text="Button" runat="server" onclick="RadButton1_Click"></telerik:RadButton>

protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            RadGrid1.DataSource = "";
            RadGrid1.DataBind();
        }
    }
    protected void RadButton1_Click(object sender, EventArgs e)
    {
        RadGrid1.DataSource = "";
        RadGrid1.DataBind();
    }


Thanks,
Jayesh Goyani
0
mohamed
Top achievements
Rank 1
answered on 31 May 2011, 10:02 AM
Thanks for ur reply Jayesh Goyani .

i'm already do like that

Thanks,
Mohamed.
0
Jayesh Goyani
Top achievements
Rank 2
answered on 31 May 2011, 01:01 PM
hi,

if possible than send your some part of code so we can find actual problem.

Thanks,
Jayesh Goyani
0
mohamed
Top achievements
Rank 1
answered on 31 May 2011, 01:56 PM
Thanks For Ur reply

This Part's i declare that button click
 protected void EisDefaultToolBar_ButtonClick(object sender, RadToolBarEventArgs e)
        {
            string message = e.Item.Text;

            if (e.Item.Text == "SharedViews")
            {

            }
            if (e.Item.Text == "Show Inactive")
            {
                showinactive = "1";
                //RadGrid1.Dispose();
                //RadGrid1.DataSource = new string[] { };
                //RadGrid1.SelectedIndexes.Clear();
                RadGrid1.DataSource = null;
                RadGrid1.Rebind();
            }
        }



else part i bind the value


protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
        {
            try
            {
                if (showinactive == "0")
                {
                    using (var db = new TBSHelpDeskDataContext(Globals.strCon))
                    {
                        var orgModel = (from d in db.Assets where d.Asset_Inactive == true select new { d.AssetName, d.SerialNumber, d.Asset_UserID, d.Asset_Inactive }).ToList();
                        int i = orgModel.Count;
                        if (i > 0)
                        {
                            var orgass = (from d in db.Assets join org in db.Peoples on d.Asset_UserID equals org.PeopleID select new { d.AssetID, d.AssetName, d.SerialNumber, org.ppl_Name, d.Asset_UserID, d.Asset_Inactive }).ToList();
                            RadGrid1.DataSource = orgass;
                            GridColumn chkbox = RadGrid1.MasterTableView.GetColumnSafe("Asset_Inactive");
                            chkbox.Visible = true;
                        }
                        else
                        {
                            var orgass1 = (from d in db.Assets join org in db.Peoples on d.Asset_UserID equals org.PeopleID select new { d.AssetID, d.AssetName, d.SerialNumber, org.ppl_Name, d.Asset_UserID, d.Asset_Inactive }).ToList();
                            RadGrid1.DataSource = orgass1;
                            GridColumn chkbox = RadGrid1.MasterTableView.GetColumnSafe("Asset_Inactive");
                            chkbox.Visible = false;
                        }
                    }
                }
                else
                {
                    using (var db = new TBSHelpDeskDataContext(Globals.strCon))
                    {
                        var orgModel = (from d in db.Assets where d.Asset_Inactive == true select new { d.AssetName, d.SerialNumber, d.Asset_UserID, d.Asset_Inactive }).ToList();
                        int i = orgModel.Count;

                        if (i > 0)
                        {
                            var orgass = (from d in db.Assets join org in db.Peoples on d.Asset_UserID equals org.PeopleID where d.Asset_Inactive == true select new { d.AssetID, d.AssetName, d.SerialNumber, org.ppl_Name, d.Asset_UserID, d.Asset_Inactive }).ToList();
                            RadGrid1.DataSource = orgass;
                            showinactive = "0";
                        }
                        else
                        {
                            var orgass = (from d in db.Assets join org in db.Peoples on d.Asset_UserID equals org.PeopleID where d.AssetID == 0 select new { d.AssetID, d.AssetName, d.SerialNumber, org.ppl_Name, d.Asset_UserID, d.Asset_Inactive }).ToList();
                            RadGrid1.DataSource = orgass;
                            showinactive = "0";
                        }
                    }
                }
            }
            finally
            { }

        }



Thanks,
Mohamed.
0
Jayesh Goyani
Top achievements
Rank 2
answered on 02 Jun 2011, 06:32 AM
Hi,

sorry for late reply.
there was not any issue from above code.
for solving the issue temporary remove/comment/disable the AJAXMANAGER from your page and check.

if u r still not solve the issue than send your html/aspx page code so i can find problem and giving to you runnable page code.

Thanks,
Jayesh Goyani
0
mohamed
Top achievements
Rank 1
answered on 02 Jun 2011, 07:55 AM
Thanks for ur reply Jayesh Goyani

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="AssetsList1.aspx.cs" Inherits="TBS_HelpDesk.Views.Assets.AssetsList1"
    MasterPageFile="~/Views/Shared/MasterPage.Master" %>

<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<asp:Content ID="aboutContent" ContentPlaceHolderID="MainContent" runat="server">
    <telerik:RadCodeBlock runat="server" ID="radCodeBlock">
        <script type="text/javascript">
            function onToolBarClientButtonClicking(sender, args) {
                var grid = $find("<%=RadGrid1.ClientID %>");
                var comandName = args.get_item().get_commandName();
                if (comandName == "Filter") {
                    if (grid.get_masterTableView().get_isFilterItemVisible()) {
                        grid.get_masterTableView().hideFilterItem();
                    }
                    else {
                        grid.get_masterTableView().showFilterItem();
                    }
                }
            }

            function confirmClearSingleCallBack(args) {
                alert(args);
            }

            function confirmCallBackFn(arg) {
                var sample
                if (arg == true) {
                    alert("If True");
                }
                else {
                    alert("Else");
                }
            }
            function lnkAdd_Click() {
                window.location.href = "Assets.aspx";
            }
            //<![CDATA[
            function openWin() {
                var oWnd = radopen("Dialog1.aspx", "RadWindow1");
            }

            function OnClientClose(oWnd, args) {
                //get the transferred arguments
                debugger
                var arg = args.get_argument();
                if (arg) {
                    var LayoutId = arg.LayoutId;
                    var LayoutName = arg.LayoutName;
                    $get("order").innerHTML = "You chose to fly to <strong>" + LayoutId + "</strong> on <strong>" + LayoutName + "</strong>";
                }
            }



            //]]>            
        </script>
    </telerik:RadCodeBlock>
    <div style="width: 650px; height: 600px;">
        <telerik:RadDockZone ID="EisDefaultDockZone" runat="server" Orientation="Vertical"
            Style="border: 0px;">
            <telerik:RadDock ID="EisDefaultDock" runat="server" Title="Asset List" EnableRoundedCorners="true"
                DefaultCommands="None" EnableDrag="false">
                <ContentTemplate>
                    <telerik:RadToolBar ID="EisDefaultToolBar" runat="server" OnButtonClick="EisDefaultToolBar_ButtonClick"
                        OnClientButtonClicking="onToolBarClientButtonClicking" Style="margin-top: 6px;"
                        Width="100%">
                        <Items>
                            <telerik:RadToolBarButton CommandName="InitInsert" ImageUrl="../../Content/images/AddRecord.gif"
                                NavigateUrl="Assets.aspx" Text="Add new" Visible="<%# !RadGrid1.MasterTableView.IsItemInserted %>">
                            </telerik:RadToolBarButton>
                            <telerik:RadToolBarButton CommandName="LayOut" onclick="openWin(); return false;"
                                Text="Add LayOut">
                            </telerik:RadToolBarButton>
                            <telerik:RadToolBarButton CommandName="Filter" ImageUrl="../../images/Filter 3.gif"
                                Text="Filter">
                            </telerik:RadToolBarButton>
                            <telerik:RadToolBarButton CommandName="Show Inactive" Text="Show Inactive">
                            </telerik:RadToolBarButton>
                            <telerik:RadToolBarButton CommandName="RebindGrid" ImageUrl="../../Content/images/RefreshSelectedRecord.gif"
                                Text="Refresh">
                            </telerik:RadToolBarButton>
                        </Items>
                    </telerik:RadToolBar>
                    <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
                        <AjaxSettings>
                            <telerik:AjaxSetting AjaxControlID="RadGrid1">
                                <UpdatedControls>
                                    <telerik:AjaxUpdatedControl ControlID="EisDefaultToolBar" UpdatePanelHeight="" />
                                    <telerik:AjaxUpdatedControl ControlID="RadGrid1" UpdatePanelHeight="" />
                                </UpdatedControls>
                            </telerik:AjaxSetting>
                        </AjaxSettings>
                    </telerik:RadAjaxManager>
                    <telerik:RadGrid ID="RadGrid1" runat="server" AllowFilteringByColumn="true" AllowPaging="True"
                        AutoGenerateColumns="False" CellPadding="0" EnableHeaderContextFilterMenu="true"
                        EnableHeaderContextMenu="true" GridLines="None" OnItemCommand="RadGrid1_ItemCommand"
                        OnItemDataBound="RadGrid1_ItemDataBound" OnNeedDataSource="RadGrid1_NeedDataSource"
                        Skin="Office2007">
                        <MasterTableView CommandItemDisplay="Top" EditMode="InPlace" HorizontalAlign="NotSet"
                            IsFilterItemExpanded="false">
                            <CommandItemTemplate>
                            </CommandItemTemplate>
                            <Columns>
                                <telerik:GridBoundColumn DataField="AssetID" DataType="System.Int32" HeaderText="AssetID"
                                    SortExpression="AssetID" UniqueName="AssetID" Visible="false">
                                </telerik:GridBoundColumn>
                                <telerik:GridHyperLinkColumn DataTextField="AssetName" HeaderStyle-Width="150px"
                                    HeaderText="AssetName" NavigateUrl="Assets.aspx" SortExpression="AssetName" UniqueName="AssetName">
                                </telerik:GridHyperLinkColumn>
                                <telerik:GridBoundColumn DataField="SerialNumber" DataType="System.Int32" HeaderStyle-Width="100px"
                                    HeaderText="SerialNumber" SortExpression="SerialNumber" UniqueName="SerialNumber">
                                </telerik:GridBoundColumn>
                                <telerik:GridBoundColumn DataField="Asset_UserID" DataType="System.Int32" HeaderText="Asset_UserID"
                                    SortExpression="Asset_UserID" UniqueName="Asset_UserID" Visible="false">
                                </telerik:GridBoundColumn>
                                <telerik:GridBoundColumn DataField="ppl_Name" HeaderStyle-Width="150px" HeaderText="User Name"
                                    SortExpression="ppl_Name" UniqueName="ppl_Name">
                                </telerik:GridBoundColumn>
                                <telerik:GridCheckBoxColumn DataField="Asset_Inactive" DataType="System.Boolean"
                                    HeaderText="Asset_Inactive" SortExpression="Asset_Inactive" UniqueName="Asset_Inactive"
                                    HeaderStyle-Width="90px">
                                </telerik:GridCheckBoxColumn>
                                <telerik:GridButtonColumn ButtonType="ImageButton" CommandArgument="Child" CommandName="Delete"
                                    ConfirmDialogType="RadWindow" ConfirmText="Are You Sure Want To Delete This Record?"
                                    ConfirmTitle="Delete Confirm" HeaderStyle-Width="10px" UniqueName="DeleteColumn" />
                            </Columns>
                        </MasterTableView>
                        <ClientSettings>
                            <Selecting AllowRowSelect="True" />
                        </ClientSettings>
                        <PagerStyle Mode="NextPrevNumericAndAdvanced" />
                    </telerik:RadGrid>
                </ContentTemplate>
            </telerik:RadDock>
        </telerik:RadDockZone>
        <telerik:RadFormDecorator ID="RadFormDecorator1" runat="server" Skin="Sunset" />
        <telerik:RadWindowManager ID="RadWindowManager1" ShowContentDuringLoad="false" VisibleStatusbar="false"
            ReloadOnShow="true" runat="server" Skin="Web20" EnableShadow="true">
            <Windows>
                <telerik:RadWindow Width="350" ID="RadWindow1" runat="server" NavigateUrl="Dialog1.aspx">
                </telerik:RadWindow>
            </Windows>
        </telerik:RadWindowManager>
    </div>
</asp:Content>


Thanks,
Mohamed.
0
Accepted
Jayesh Goyani
Top achievements
Rank 2
answered on 02 Jun 2011, 10:14 AM
Hi,

<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
       <AjaxSettings>
           <telerik:AjaxSetting AjaxControlID="EisDefaultToolBar">
               <UpdatedControls>
                   <telerik:AjaxUpdatedControl ControlID="RadGrid1" />
               </UpdatedControls>
           </telerik:AjaxSetting>
 <telerik:AjaxSetting AjaxControlID="RadGrid1">
               <UpdatedControls>
                   <telerik:AjaxUpdatedControl ControlID="RadGrid1" />
               </UpdatedControls>
           </telerik:AjaxSetting>
       </AjaxSettings>
   </telerik:RadAjaxManager>

let me if any concern.....

Thanks,
Jayesh Goyani
0
mohamed
Top achievements
Rank 1
answered on 02 Jun 2011, 10:25 AM
Thanks Jayesh Goyani

Thanks alot ...

Another doubt on ,
how to add radlistbox value into radcombobox in server side
http://www.telerik.com/community/forums/aspnet-ajax/grid/how-to-get-radcombobox-id-inside-editformsettings.aspx

Thanks,
Mohamed.
0
Jayesh Goyani
Top achievements
Rank 2
answered on 02 Jun 2011, 11:57 AM
Hi mohamed,

Thanks a lot for your reply.

i will reply for your above question as soon as possible.

Thanks,
Jayesh Goyani
0
mohamed
Top achievements
Rank 1
answered on 02 Jun 2011, 12:30 PM
Hello Jayesh .

K jayesh.

Thanks,
Mohamed.
Tags
Grid
Asked by
mohamed
Top achievements
Rank 1
Answers by
Iana Tsolova
Telerik team
mohamed
Top achievements
Rank 1
Jayesh Goyani
Top achievements
Rank 2
Share this question
or