Nano Hash - криптовалюты, майнинг, программирование

Получить значения ячейки в выбранной строке RadGrid на стороне клиента

Привет всем, я надеюсь, что для этого есть простое решение, но я бы согласился на сложное после того, как возился с ним последние полтора дня!

Я собираю модуль, который попадет на портал DotNetNuke, и заполняю данными Telerik RadGrid. Я следил за каждым учебником и примером, которые я мог найти, но результат продолжает возвращаться с «объектным объектом», «нулевым» или «неопределенным».

Мне нужно: 1) получить значение столбца «BookingID» для каждой выбранной строки 2) передать значение в строку URL, которая открывается в RadWindow.

Я пытаюсь сделать все это с помощью javascript, но если вы знаете лучший способ, я сейчас ни на что не способен.

Вот мой текущий JavaScript и урезанный radGrid:

 ///Javascript///

function gup(name) {
    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regexS = "[\\?&]" + name + "=([^&]*)";
    var regex = new RegExp(regexS);
    var results = regex.exec(window.location.href);
    if (results == null) return "";
    else return results[1];
}
    function ShowEditForm() {
        var tab = gup('tabid')
        var mid = gup('mid').replace(/#/, '')
        var masterTableView = $find("perDiemBookingsRadGrid").get_masterTableView();
        var id = masterTableView.get_selectedItems()[0].getDataKeyValue('BookingID');

        window.radopen("/Default.aspx?tabid=" + tab + "&ctl=multiEdit&mid=" + mid + "&SkinSrc=[G]Skins/Blue-NCPP/Plain&BIDs=" + id, "RadWindow3");
    }

  • Это не позволит мне опубликовать мою сетку, потому что в ней есть изображения... Я почищу ее и опубликую через несколько минут. 23.06.2010
  • Ничего, ему просто не нравится моя сетка по какой-то причине. как насчет этого пути? senduit.com/acafd4 23.06.2010

Ответы:


1

Следующий код даст вам ключ для выбранной строки. Обычно у меня не появляется всплывающее окно RadWindow, когда пользователь выбирает строку. Я позволил им щелкнуть изображение/кнопку, чтобы открыть окно RadWindow.

<telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
<script type="text/javascript">
 <!--
    function RowSelected(sender, args)
    {
      var userId = args.getDataKeyValue("UserId");
      window.radopen('UserDetail.aspx?userid=' + userId, "RadWindow1");
    }   
    -->
</script>
</telerik:RadCodeBlock>
<telerik:RadGrid ID="RadGrid1" runat="server" >
  <MasterTableView ClientDataKeyNames="UserId" />
     <ClientSettings>
        <Selecting AllowRowSelect="true" />
        <ClientEvents OnRowSelected="RowSelected" />
        </ClientSettings>
  </telerik:RadGrid>

<%-- RadWindowManager --%>
<telerik:RadWindowManager ID="RadWindowManager1" runat="server" Modal="true" Behaviors="Default"
 VisibleTitlebar="true" VisibleStatusbar="false" InitialBehavior="Reload" Style="z-index: 7001"
  Skin="Default" DestroyOnClose="true" Width="750px" Height="500px" >
   <windows>
  <telerik:RadWindow ID="RadWindow1" runat="server">
    </telerik:RadWindow>
  </windows>
</telerik:RadWindowManager>
14.07.2011

2
var grid = $find("<%=perDiemBookingsRadGrid.ClientID%>")

Затем вы можете перебирать строки в grid.MasterTableView.SelectedRows и получать значения

for(var i = 0; i < grid.MasterTableView.SelectedRows.length; i++)
{
    var selectedRow = grid.MasterTableView.SelectedRows[i];
    var id = selectedRow.KeyValues["BookingID"];
    //code to do stuff here.
}
23.06.2010
  • Я пробовал что-то подобное раньше, но только что попробовал с вашим кодом (скопировал и вставил). Сведения об ошибке веб-страницы Сообщение: «MasterTableView.SelectedRows.length» имеет значение null или не является объектом Строка: 766 Char: 29 Код: 0 URI: localhost/Default.aspx?TabID=65&mid=423 24.06.2010
  • function ShowEditForm() { var tab = gup('TabID') var mid = gup('mid').replace(/#/, '') var grid = $find(‹%=perDiemBookingsRadGrid.ClientID%›) for ( var i = 0;i ‹ grid.MasterTableView.SelectedRows.length;i++) { var selectedRow = grid.MasterTableView.SelectedRows[i]; var id = selectedRow.KeyValues[BookingID]; // код, чтобы что-то делать здесь. window.radopen(/Default.aspx?TabID= + tab + &ctl=multiEdit&mid= + mid + &SkinSrc=[G]Skins/Blue-NCPP/Plain&BIDs= + id, RadWindow3); }} 24.06.2010
  • Я работаю над предыдущей версией RadGrid. Вы можете найти эквивалентные свойства и методы на стороне клиента в версии, которую вы используете, в документации. 24.06.2010
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..