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

retreive to cell from popup in ASP.NET AJAX : Grid

2 Answers 78 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Misbakhul
Top achievements
Rank 1
Misbakhul asked on 03 Jun 2013, 03:18 PM
hi team telerik,

I have RadGrid and ther is Textbox in ItemTemplate , like this :
<telerik:RadGrid ID="RadGrid1" runat="server" CellSpacing="0" GridLines="None" AutoGenerateColumns="false" OnItemCreated="RadGrid1_ItemCreated">
    <MasterTableView>
        <Columns>
            <telerik:GridTemplateColumn HeaderText="SANDI KETERANGAN">
                <ItemTemplate>
                    <telerik:RadTextBox runat="server" ID="tbsandi" Enabled="false" ></telerik:RadTextBox>
                </ItemTemplate>
            </telerik:GridTemplateColumn>
        </Columns>
    </MasterTableView>

and code behind for method  OnItemCreated="RadGrid1_ItemCreated"

protected void RadGrid1_ItemCreated(object sender, Telerik.Web.UI.GridItemEventArgs e)
{
    if (e.Item is GridDataItem)
    {
        var ditem = (GridDataItem)e.Item;
        var tbsansi = (RadTextBox) ditem.FindControl("tbsandi");
        tbsansi.Attributes.Add("onclick", "openWin(" + ditem.ItemIndex + ");");
    }
}

and Script JavaScript like this :
<script type="text/javascript">
    function openWin(index) {
        //var RadGrid1 = $find('<%=RadGrid1.ClientID %>');
        //var masterTableView = RadGrid1.get_masterTableView();
        //var row = masterTableView.get_dataItems()[index];
 
        var oWnd = radopen("SandiKeterangan.aspx", "RadWindow1");
    }
     
    function OnClientClose(oWnd, args) {
        var arg = args.get_argument();
 
        var grid = $find("<%=RadGrid1.ClientID %>");
        var MasterTable = grid.get_masterTableView();
        var length = MasterTable.get_dataItems().length;
 
        for (var i = 0; i < length; i++) {
            var RadTextBoxSandi = MasterTable.get_dataItems()[i].findElement("tbsandi");//access the TextBox control
            RadTextBoxSandi.innerText = arg.Kode;// assigning value to TextBox control
        }
 
 
    }
</script>


how can I get the index selectedRow RadGrid, like scripts that I remak in openWind function to be able to set when the event CloseWindow tbruleid
example:
I want when I click tbruleid existing index RadGrid1 in row 5, then appeared popup her choice, and I choose its value, and the popup closes, then the value I select it, there are at tbruleid index that is in row 5 ..
with existing javascript , his circumstances set all men in all tbruleid row ..

very simple, but I can not get the row index value after closewindow ..

please , I need your help...
thanks advance

chester(misbakhul)...

2 Answers, 1 is accepted

Sort by
0
Shinu
Top achievements
Rank 2
answered on 04 Jun 2013, 07:53 AM
Hi Misbakhul,

One suggestion is add an ASP HiddenField and store the index value in that hidden field when the RadWindow is opened. On closing the RadWindow, access the textbox based on the index stored in the hidden field and assign the necessary text. Please check the following code I tried which works fine at my end. (You can use the same C# code)

ASPX:
<telerik:RadWindowManager ID="RadWindowManager1" runat="server">
    <Windows>
        <telerik:RadWindow ID="RadWindow1" runat="server" OnClientClose="OnClientClose">
        </telerik:RadWindow>
    </Windows>
</telerik:RadWindowManager>
<asp:HiddenField ID="HiddenField1" runat="server" />
<telerik:RadGrid ID="RadGrid1" DataSourceID="SqlDataSource2" runat="server" CellSpacing="0"
    GridLines="None" AutoGenerateColumns="false" OnItemCreated="RadGrid1_ItemCreated">
    <MasterTableView>
        <Columns>
            <telerik:GridBoundColumn DataField="OrderID">
            </telerik:GridBoundColumn>
            <telerik:GridTemplateColumn HeaderText="SANDI KETERANGAN">
                <ItemTemplate>
                    <telerik:RadTextBox runat="server" ID="tbsandi" Enabled="true">
                    </telerik:RadTextBox>
                </ItemTemplate>
            </telerik:GridTemplateColumn>
        </Columns>
    </MasterTableView>
</telerik:RadGrid>
<asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"
    SelectCommand="select top 20 * from [Orders];"></asp:SqlDataSource>

JavaScript:
<script type="text/javascript">
    function openWin(index) {
        var oWnd = radopen("DataPage1.aspx", "RadWindow1");
        var aspHiddenField = document.getElementById("<%=HiddenField1.ClientID %>");
        aspHiddenField.value = index;
    }
 
    function OnClientClose(sender, args) {
        var aspHiddenField = document.getElementById("<%=HiddenField1.ClientID %>");
        var index = aspHiddenField.value;
        var grid = $find("<%=RadGrid1.ClientID %>");
        var MasterTable = grid.get_masterTableView();
        var RadTextBoxSandi = MasterTable.get_dataItems()[index].findElement("tbsandi");
        RadTextBoxSandi.innerText = "Sample Text";
    }
</script>

Thanks,
Shinu.
0
Misbakhul
Top achievements
Rank 1
answered on 14 Jun 2013, 11:25 AM
Thank you Shinu
Tags
Grid
Asked by
Misbakhul
Top achievements
Rank 1
Answers by
Shinu
Top achievements
Rank 2
Misbakhul
Top achievements
Rank 1
Share this question
or