Telerik Forums
UI for ASP.NET AJAX Forum
5 answers
894 views
Hi,

I'm working for a client that needs to display a list of programs in a grid and have a list of sub-programs under each program.  Those subprograms AKA locals need to have radio buttonlist, because the user can have the choice to select any options and update those options.

I have three datatables:
1. Program data
2. All locals
3. Userlocals
Please note that dt 2 & 3 need to be merged.  In order for the selectedvalue in the radio buttonlist to be selected (represents a user selection).

I'd like to know how to accomplish this.  This is what I have so far

HTML:
<telerik:RadGrid ID="rgMyGrid" runat="server" Skin="Office2007" AutoGenerateColumns="false">
            <MasterTableView CommandItemDisplay="Top" ShowHeader="true">
                <CommandItemTemplate>
                    <div style="padding: 5px;">
                        Below is a listing of programs for the selected client. You can add this user to
                        one or more programs by expanding the program node and selecting a localization.
                        You must select at least one program/localization.
                    </div>
                </CommandItemTemplate>
                <Columns>
                    <telerik:GridBoundColumn DataField="ProgramName" HeaderText="Programs" />
                    <telerik:GridButtonColumn CommandName="Delete" Text="Remove" UniqueName="RemoveColumn"
                        ButtonType="PushButton" />
                </Columns>
                <NestedViewTemplate>
                    <div style="width: 100%; padding-left: 10px;">
                        <asp:RadioButtonList runat="server" ID="rdoLocals"/>
                    </div>
                </NestedViewTemplate>
            </MasterTableView>
        </telerik:RadGrid>
        <telerik:RadTreeView ID="rtvProgramsLocals" runat="server" Skin="Outlook" Visible="false">
        </telerik:RadTreeView>

Here is what I have in the VB.NET code-behind

  If Not IsPostBack Then
  
            rgMyGrid.DataSource = LoadPrograms(100)
            rgMyGrid.DataBind()
  
   End If
  
Private Function LoadPrograms(ByVal ClientId As Integer) As DataTable
        'Dim p360programs As Programs = Nothing
        Dim programsDT As New DataTable("Programs")
        Dim localsDT As New DataTable("Locals")
        Dim userLocalDT As New DataTable("UserLocal")
        Dim localOptions As RadioButtonList
        'p360programs = New Programs(ConfigurationManager.ConnectionStrings("P360ConnectionString").ConnectionString)
        Dim i As Integer
        Dim j As Integer
        Dim programNode As RadTreeNode
        Dim localNode As RadTreeNode
  
        programsDT.Columns.Add("ProgramID", GetType(Int32))
        programsDT.Columns.Add("ClientID", GetType(Int32))
        programsDT.Columns.Add("UserID", GetType(Int32))
        programsDT.Columns.Add("ProgramName", GetType([String]))
        programsDT.PrimaryKey = New DataColumn() {programsDT.Columns("ProgramID")}
        programsDT.Rows.Add(New Object() {100, 100, 7628, "Internal Administration"})
        programsDT.Rows.Add(New Object() {106, 100, 7628, "TestProgram"})
        programsDT.Rows.Add(New Object() {107, 100, 7628, "TestProgram1"})
        programsDT.AcceptChanges()
  
        localsDT.Columns.Add("LocalizationID", GetType(Int32))
        localsDT.Columns.Add("ProgramID", GetType(Int32))
        localsDT.Columns.Add("LocalizationName", GetType([String]))
        localsDT.PrimaryKey = New DataColumn() {localsDT.Columns("LocalizationID")}
        localsDT.Rows.Add(New Object() {100, 100, "Setup Tool"})
        localsDT.Rows.Add(New Object() {105, 106, "MyLocal"})
        localsDT.Rows.Add(New Object() {106, 106, "MyLocal2"})
        localsDT.Rows.Add(New Object() {107, 107, "Local1a"})
        localsDT.AcceptChanges()
  
        userLocalDT.Columns.Add("LocalizationID", GetType(Int32))
        userLocalDT.Columns.Add("LocalizationName", GetType([String]))
        userLocalDT.PrimaryKey = New DataColumn() {userLocalDT.Columns("LocalizationID")}
        userLocalDT.Rows.Add(New Object() {100, "Setup Tool"})
        userLocalDT.Rows.Add(New Object() {105, "MyLocal From the secondary Table"})
        userLocalDT.AcceptChanges()
        'programsDT = p360programs.GetPrograms(ClientId)
  
        If programsDT.Rows.Count > 0 Then
            For i = 0 To programsDT.Rows.Count - 1
                If localsDT.Rows.Count > 0 Then
  
                    localsDT.Merge(userLocalDT, False, MissingSchemaAction.Ignore)
                    localOptions = New RadioButtonList
  
                    Dim gridRow As GridDataItem
  
                    For Each gridRow In rgMyGrid.MasterTableView.Items
  
                        localOptions = CType(gridRow.ChildItem.FindControl("rdoLocals"), RadioButtonList)
  
                        For j = 0 To userLocalDT.Rows.Count - 1
                            localOptions.Items.Add(New ListItem(localsDT(j)("LocalizationName"), localsDT(j)("LocalizationID")))                            
                        Next
  
                        ' add the radio button to the localization radtree node
                        localNode = New RadTreeNode()
                        localNode.Controls.Add(localOptions)
  
                        ' add the localization node to the program node
                        programNode = New RadTreeNode(programsDT.Rows(i)("ProgramName"))
                        programNode.Nodes.Add(localNode)
  
                        ' add the program node to the tree view control
                        rtvProgramsLocals.Nodes.Add(programNode)
  
                    Next
                      
  
                End If
  
            Next
  
        End If
          
        Return programsDT
  
    End Function

I've also attached a snapshot of what I'm trying to achieve.

Thanks,
Andrey
Telerik team
 answered on 28 Dec 2011
1 answer
128 views
Hai,

I have a radtabstrip with 4 tabs. Each tab contains one grid. I have to export the data on these 4 grids to different formats like pdf, excel etc. on clicking a "Print Report" button on the page. Is there any way to this? Its very urgent. Plz help.

Thanks,

Regeesh
Andrey
Telerik team
 answered on 28 Dec 2011
1 answer
257 views
Hi Everyone,

I am looking for below two customization on RadGrid. Has anyone achieved these with ASP.Net RadGrid?
I am looking for IE 7 + solutions only.

1. Slanted headers- Looking to implement slanted headers for some columns since the width of data is less and header text will be more. Slanted headers will reduce the overall width of grid. I am able to implement vertical columns using CSS but not able to create slanted headers.

2. Can I split one record across 2 rows ? One of the fields(say description) is too lengthy. Adding it on one row increases the height of grid. Instead if I display this as another row, the width of grid will be used up. So I am looking to bring one column as a separate row below the rest of fields. Both the rows will together represent one record.

Attached is a image which shows the desired grid format.

Thanks,
Abhi
Tsvetina
Telerik team
 answered on 28 Dec 2011
5 answers
357 views
Dear Telerik,

I use the RadScheduler with the web service data binding model. Day view only.

When I switch between the days it does not make postback of the page to the server (which is great!).

But later I still need to make a post back and get the current selected date from the code behind of the page.

I see that the value of  myScheduler.SelectedDate remains the same as it used to be after the page has been first loaded and does not reflect the fact that I was moving the scheduler to another day...

How can I get the correct date though?

Thank you in advance!

- Stepan.

Peter
Telerik team
 answered on 28 Dec 2011
1 answer
210 views
I would like to both display and allow full navigation and use of my external website inside of a RadWindow or a RadDock.  Is this possible?  It allows a user to browse a collection of websites and select and view them in a more useful way.
Svetlina Anati
Telerik team
 answered on 28 Dec 2011
1 answer
166 views
Hello,

I am using hierarchical grid with load mode set to ServerOnDemand. I would like to know if it is possible to modify the onclick javascript function for the Expand button while grid is binding.

For example, I would like to pass argument in the function call below:

onclick="javascript:__doPostBack('18_userControl$RadGridDiscounts$ctl00$ctl04$GECBtnExpandColumn','')"

Or if I can set the argument in the ajax request.

Regards,
Mustapha
Andrey
Telerik team
 answered on 28 Dec 2011
2 answers
118 views
I have a radwindow.I wanna hide the name of the pagewhich is at the bottom of the radwindow.How can I do this?

Emre
Top achievements
Rank 1
 answered on 28 Dec 2011
3 answers
245 views

Hello Telerik,
I have a problem when dealing with RadComboBox.
if the comboBox is disabled, and I want to select an item it doesn't work

the following not working:

ComboBoxTitle.disable();
ComboBoxTitle.findItemByValue("2").select();

the problem is the combo may be disable or not before selecting item so I make the following workaround

if (!ComboBoxTitle.get_enabled()) {
    ComboBoxTitle.enable();
    ComboBoxTitle.findItemByValue(ContactData.TitleId).select();
    ComboBoxTitle.disable();
}
else {
    ComboBoxTitle.findItemByValue(ContactData.TitleId).select();
}
but I am asking if there are a better solution

thanks,
Taraman
Kalina
Telerik team
 answered on 28 Dec 2011
5 answers
138 views

Hi Team

I've desing in my web application as....

 <tr>
                                                                    <td>
                                                                        <asp:Panel runat="server" ID="uxJumpPanel">
                                                                            <telerik:RadListView ID="feeldChoices" runat="server">
                                                                                <ItemTemplate>
                                                                                    <table cellpadding="0" cellspacing="0">
                                                                                        <tr>
                                                                                            <td>
                                                                                                <telerik:RadTextBox runat="server" Text='<%# Eval("Text") %>' onkeyup="SyncListToCheckbox(this)"
                                                                                                    ID="uxItemText" Width="260">
                                                                                                </telerik:RadTextBox>
                                                                                                  <telerik:RadComboBox runat="server" ID="uxSelectPage1"  ></telerik:RadComboBox>
                                                                                            </td>
 
                                                                                            <td>
                                                                                                <img id="imageAdd" style="cursorpointer" runat="server" onclick="InitiateAjaxRequest('1,3,add|' + this.id + ',' + selectedDockId); SetUnsaved();"
                                                                                                    alt="Add field choice" border="0" src="Images/Add.png" />
                                                                                            </td>
                                                                                            <td>
                                                                                                <img id="imageDelete" style="cursorpointer" runat="server" onclick="InitiateAjaxRequest('1,3,remove|' + this.id + ',' + selectedDockId); SetUnsaved();"
                                                                                                    alt="Delete field choice" border="0" src="Images/Delete.png" />
                                                                                            </td>
                                                                                        </tr>
                                                                                    </table>
                                                                                </ItemTemplate>
                                                                            </telerik:RadListView>
                                                                        </asp:Panel>
                                                                    </td>
                                                                </tr>

actually am not able to bind the data to  "uxSelectPage1" radcombobox. It always shows empty. 

Where am doing wrong?

Princy
Top achievements
Rank 2
 answered on 28 Dec 2011
20 answers
515 views
On October 11, 2011, Microsoft released a Cumulative Security Update for Internet Explorer (KB2586448) through Windows Update, which broke RadComboBox when MarkFirstMatch and AllowCustomText were set to true in:
  • Telerik.Web.UI v <= 2009.3.1314 and RadComboBox Classic;
  • All versions of IE from 6 to 9;
and in the following case:
  • Telerik.Web.UI - some versions;
  • IE9 Compatibility View;
  • Installed Google Toolbar with 'Auto Fill' enabled;

As an emergency measure we wrote a small patch that fixed the problem. The patch does not address anything else except the problem the update introduced and will not be extended beyond that.

The problem originates in the ASP.NET AJAX framework, which fires an event one extra time unexpectedly. Perhaps there is something wrong at the DOM level but we have not invested time in investigating the root cause of this yet. If the patch is stable we will not do so in the future as well.

Below is the code you could put on your pages that are affected if you are using RadComboBox for ASP.NET AJAX:
<script type="text/javascript">
    var prototype = Telerik.Web.UI.RadComboBox.prototype;
    var set_text = prototype.set_text;
    var propertyChange = prototype._onInputPropertyChange;
 
    prototype.set_text = function (value) {
        this._skipEvent = 0;
        set_text.call(this, value);
    };
 
    prototype._onInputPropertyChange = function () {
        if (!event.propertyName)
            event = event.rawEvent;
        if (event.propertyName == "value") {
            this._skipEvent++;
            if (this._skipEvent == 2)
                return;
            propertyChange.call(this);
        }
    };
</script>
Note: Put the code *after* the ScriptManager on the page or *right before* the </body> closing tag.

The same patch for RadComboBox Classic is:
<script type="text/javascript">
    var prototype = RadComboBox.prototype;
    var set_text = prototype.SetText;
    var propertyChange = prototype.OnInputPropertyChange;
 
    prototype.SetText = function (value) {
        this._skipEvent = 0;
        set_text.call(this, value);
    };
 
    prototype.OnInputPropertyChange = function () {
        if (!event.propertyName)
            event = event.rawEvent;
        if (event.propertyName == "value") {
            this._skipEvent++;
            if (this._skipEvent == 2)
                return;
            propertyChange.call(this);
        }
    };
</script>
Note: Put the code *after* the first RadComboBox on the page or *right before* the </body> closing tag.

Additional Note: The same problem exists with the latest version of Telerik.Web.UI in IE9 Compatibility View Mode only if the Google Toolbar add-on is installed. The above patch only alleviates the problem - it does not fix it completely. We will be investigating this in the future and will update this post if there is progress. In the meantime, you could avoid the problem by disabling the add-on's 'Auto Fill' feature.

Please share your experience with the patch in this forum thread instead of starting new ones.

UPDATE: In response to user comments we added a patch for RadComboBox Classic and info about the proper location of both scripts.
Ivana
Telerik team
 answered on 28 Dec 2011
Narrow your results
Selected tags
Tags
+? more
Top users last month
Boardy
Top achievements
Rank 2
Veteran
Iron
Benjamin
Top achievements
Rank 3
Bronze
Iron
Veteran
ivory
Top achievements
Rank 1
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
ClausDC
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Boardy
Top achievements
Rank 2
Veteran
Iron
Benjamin
Top achievements
Rank 3
Bronze
Iron
Veteran
ivory
Top achievements
Rank 1
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
ClausDC
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?