RadGrid RadComboBox客户端弹出帮助

时间:2011-03-01 03:33:23

标签: asp.net ajax telerik radgrid radcombobox

需要一些帮助来解决这个问题。我想在我的RadGrid中添加一个On RowClick事件处理程序来处理RadGrid Editform模式中RadComboBox的选择。我想要做的是,当用户从组合框中进行选择时,显示RadWindow以允许用户在RadGrid Editform的文本框中显示其他选择。到目前为止,我没有显示任何内容,甚至没有显示警报框

  function RowCreated(rowObject) {
       alert("Row with Index: " + rowObject.Index + " was created");
   }

   function RowSelected(sender, args) {
       alert("row selected");
       inputFieldValue = args.getDataKeyValue("Type");
       alert(inputFieldValue);
   }

   function RowClick(rowIndex, e) {
       alert("row Clicked");
       var sourceElement;
       alert(rowIndex);
   }

网格附件发生在客户端事件标记

<telerik:RadGrid ID="securityGrid" runat="server" AllowPaging="True"  AllowSorting="True" AutoGenerateColumns="false" Height="99.9%" AllowCustomPaging="true">
                              <MasterTableView ShowFooter="true"  AutoGenerateColumns="False" AllowSorting="true" AllowPaging="true" EnableViewState="true" ClientDataKeyNames="HKey" DataKeyNames="HKey">
                                    <NoRecordsTemplate>
                                        <div align="center" style="font-weight: bold; font-size: 16px; color: Green; width: 100%;">
                                            There Are No Records To Display. Please Select Another View.</div>
                                    </NoRecordsTemplate>
                                    <Columns>
                                        <telerik:GridBoundColumn UniqueName="EHKey" Visible="false" DataField="EHKey" />
                                        <telerik:GridCheckBoxColumn UniqueName="Active" HeaderText="Active" DataField="Active"
                                            ColumnEditorID="ReportEditor">
                                            <ItemStyle Width="70" />
                                            <HeaderStyle Width="70" />
                                        </telerik:GridCheckBoxColumn>
                                        <telerik:GridDropDownColumn UniqueName="UILocation" DataSourceID="UILocation_DS"
                                            HeaderText="UI Location" DataField="UILocation" ListTextField="Description" ListValueField="PrimaryKey"
                                            DropDownControlType="RadComboBox" ColumnEditorID="ReportEditor">
                                            <ItemStyle Width="20%" Height="18" />
                                            <HeaderStyle Width="20%" />
                                        </telerik:GridDropDownColumn>
                                        <telerik:GridDropDownColumn UniqueName="Type" DataSourceID="SecurityType_DS" HeaderText="Type"
                                            DataField="SecurityType" ListTextField="Description" ListValueField="PrimaryKey"
                                            DropDownControlType="RadComboBox" ColumnEditorID="ReportEditor">
                                            <ItemStyle Width="120" Height="18" />
                                            <HeaderStyle Width="120" />
                                        </telerik:GridDropDownColumn>
                                        <telerik:GridBoundColumn UniqueName="Item" HeaderText="Item" DataField="ItemList"
                                            ColumnEditorID="ReportEditor">
                                            <ItemStyle Width="10%" />
                                            <HeaderStyle Width="10%" />
                                        </telerik:GridBoundColumn>
                                        <telerik:GridDropDownColumn UniqueName="Access" DataSourceID="AccessType_DS" HeaderText="Access"
                                            DataField="AccessType" ListTextField="Description" ListValueField="PrimaryKey"
                                            DropDownControlType="RadComboBox" ColumnEditorID="ReportEditor">
                                            <ItemStyle Width="120" />
                                            <HeaderStyle Width="120" />
                                        </telerik:GridDropDownColumn>
                                        <%-- <telerik:GridBoundColumn UniqueName="ItemList" Visible="false" DataField="ItemList" />--%>
                                        <telerik:GridEditCommandColumn HeaderText="Edit" ButtonType="ImageButton" UniqueName="EditCommandColumn">
                                            <ItemStyle Width="40" CssClass="WATSImageButton" />
                                            <HeaderStyle Width="40" />
                                        </telerik:GridEditCommandColumn>
                                        <telerik:GridButtonColumn UniqueName="DeleteCommandColumn" ButtonType="ImageButton"
                                            CommandName="Delete" HeaderText="Del" ConfirmTitle="Delete Strategy Milestone!"
                                            ConfirmText="Are you sure you want to delete this record?" ConfirmDialogType="RadWindow"
                                            ConfirmDialogHeight="100" ConfirmDialogWidth="350">
                                            <ItemStyle Width="35" CssClass="WATSImageButton" />
                                            <HeaderStyle Width="35" />
                                        </telerik:GridButtonColumn>
                                    </Columns>
                                    <EditFormSettings>
                                        <FormMainTableStyle GridLines="None" CellSpacing="0" CellPadding="0" Width="100%"
                                            CssClass="masterTable" />
                                        <FormTableStyle CellSpacing="0" CellPadding="0" Width="50%" />
                                        <FormStyle Width="100%" BackColor="#ffffe1"></FormStyle>
                                        <EditColumn ButtonType="ImageButton" CancelText="Cancel" UpdateText="Update" InsertText="Add" />
                                    </EditFormSettings>
                                </MasterTableView>
                                <ClientSettings>
                                    <Scrolling AllowScroll="True" UseStaticHeaders="True" />
                                        <ClientEvents OnRowClick="RowClick" OnGridCreated="GridCreated" />
                                    <Selecting AllowRowSelect="false" />
                                    <ClientEvents />
                                </ClientSettings>
                            </telerik:RadGrid>

2 个答案:

答案 0 :(得分:0)

调试你的js代码以查看它的哪些部分被处理以及是否发生错误。这可以帮助您追踪错误。

答案 1 :(得分:0)

请看以下一行:

alert("Click on row instance: " + eventArgs.get_itemIndexHierarchical());

您尚未定义eventArgs。这是该函数的第一行,因此当您单击该行时,“无”会发生这种情况。

将您的功能更改为:

function RowClick(rowIndex, eventArgs) {
           alert("Click on row instance: " + eventArgs.get_itemIndexHierarchical());
           var e = window.event;
           var sourceElement;
           alert(sourceElement);
           if (e.srcElement) {
               sourceElement = e.srcElement;
               alert("sourceElement");
           }
           else if (e.target) {
           sourceElement = e.target;
           alert("target");
           }

       alert("About to check ROw Index");
       if (rowIndex != null) {

           alert("Checked ROw Index");
           inputField = grid.MasterTableView.Rows[rowIndex].Control.getElementsByTagName("INPUT")[0];
           alert(inputField);
           selvalue = sourceElement.value;
           alert(selvalue);
           if (inputField != null) {
               alert("About to show it");
               var popuppage = "userroleselect.aspx" + "?sel=" + selvalue + "&avail=" + inputField.value;
               alert("Shown it!");
               window.radopen(popuppage, "UserRoleDialog");
           }
           else {
               alert("Did Not Make it");
           }
       }
   }

注意eventArgs参数还注意到函数中现在定义了变量e。