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

Невозможно связать данные на основе значения раскрывающегося списка и значения переключателя

В настоящее время я пытаюсь загрузить свой вид сетки в соответствии со значением в раскрывающемся списке и переключателем.

Однако всякий раз, когда я добавляю код для проверки наличия или отсутствия переключателя, gridview не загружает никаких данных.

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

В настоящее время я работаю на С#, и я использую свой вид сетки в качестве таблицы данных (плагин JQuery)

Вот мой пример кода

ASPX

<script src="Scripts/jquery-1.9.1.js"></script>
    <script src="Content/DataTables-1.10.12/media/js/jquery.dataTables.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            $(".gvv").prepend($("<thead></thead>").append($(".gvv").find("tr:first"))).dataTable();

            $(document).on("dblclick", ".gvv tbody tr", function () {
                var $this = $(this);
                var row = $this.closest("tr");
                row.find('td:eq(1)');
                var courseCode = row.find('td:first').text();

            });
        })

        function onPageLoad() {
            $(".gvv").prepend($("<thead></thead>").append($(".gvv").find("tr:first"))).dataTable();

            $(document).on("dblclick", ".gvv tbody tr", function () {
                var $this = $(this);
                var row = $this.closest("tr");
                row.find('td:eq(1)');
                var courseCode = row.find('td:first').text();
            });

        }

    </script>

<div class="row">
            <div class="col-lg-1">
            </div>

            <div class="form-group">
                <asp:Label ID="lblESTt" CssClass="col-lg-2 control-label" runat="server" Text="Test display: "></asp:Label>
                <div class="col-lg-3">
                    <asp:DropDownList ID="ddlTest" CssClass="form-control input-lg" runat="server" OnSelectedIndexChanged="ddlTest_SelectedIndexChanged" AutoPostBack="true">
                    </asp:DropDownList>
                </div>

            </div>
        </div>

        <div class="row" style="margin-top: 4%;">
            <div class="col-lg-5">
            </div>

            <div>
                <div class="btn-group" data-toggle="buttons">
                    <asp:RadioButton ID="currentOption" runat="server" Text="Current" CssClass="btn btn-primary active btn-lg" />
                    <asp:RadioButton ID="pastOption" runat="server" Text="Past" CssClass="btn btn-primary btn-lg" />
                </div>
            </div>
        </div>

        <div class="row" style="margin-top: 2%;">

            <div class="col-lg-1">
            </div>

            <div class="col-lg-10">
                <asp:GridView ID="gridView1" runat="server" CssClass="table table-striped table-bordered dataTable no-footer hover gvv" AutoGenerateColumns="False">
                    <Columns>
                        <asp:BoundField DataField="testA" />
                        <asp:BoundField DataField="testB" />
                        <asp:BoundField DataField="testC"  />
                    </Columns>
                </asp:GridView>
            </div>
        </div>

ASPX.CS

protected void ddlTest_SelectedIndexChanged(object sender, EventArgs e)
        {
           if (currentOption.Checked)
            {
                ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "script", "onPageLoad();", true);
                loadCurrentData();
            }
            else
            {
                ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "script", "onPageLoad();", true);
                loadPastData();
            }
        }

        protected void loadCurrentData()
        {
            gridView1.DataSource = retrieveBAL.retrieveCurrent(ddlTest.SelectedValue, DateTime.Now.Year);
            gridView1.DataBind();

        }

        protected void loadPastData()
        {
            gridView1.DataSource = retrieveBAL.retrievePast(ddlTest.SelectedValue, DateTime.Now.Year);
            gridView1.DataBind();

        }

ОБНОВИТЬ

Я попытался создать событие oncheckedchange для своего переключателя, однако это событие просто не срабатывает. Вот что я пробовал

ASPX

<div class="btn-group" data-toggle="buttons">
                <asp:RadioButton ID="currentOption" runat="server" Text="Current" Checked="true" CssClass="btn btn-primary active btn-lg" GroupName="currentPastOption" OnCheckedChanged="currentPastOption_CheckedChanged" AutoPostBack="true"/>
                <asp:RadioButton ID="pastOption" runat="server" Text="Past" CssClass="btn btn-primary btn-lg" GroupName="currentPastOption" OnCheckedChanged="currentPastOption_CheckedChanged" AutoPostBack="true"/>
            </div>

ASPX.CS

 protected void currentPastOption_CheckedChanged(Object sender, EventArgs e)
        {
            if (currentOption.Checked)
            {
                loadCurrentData();
            }
            else if (pastOption.Checked)
            {
                loadPastData();
            }

        }

  • Вам нужно написать событие «Изменить» для раскрывающегося списка и переключателей. 19.10.2016
  • Код @DipakThoke позади? или jquery? 19.10.2016
  • w3schools.com/jsref/tryit.asp?filename=tryjsref_onchange, пожалуйста следить за этим 19.10.2016
  • @DipakThoke взгляните на мое обновление, спасибо! 19.10.2016
  • Ваш код работает нормально. Вы что-то делаете с GridView и/или RadioButtons в Page_load? 19.10.2016
  • @VDWWD я только привязываю источник данных к GridView в Page_load. Ничего для радиокнопок. Проблема заключается в data-toggle="buttons". После его удаления атрибут checked=true меняется. 19.10.2016

Ответы:


1

Попробуйте использовать приведенный ниже код для группы переключателей. Я удалил data-toggle="buttons", и он отлично работает.

ASPX:

        <div class="btn-group">
            <asp:RadioButton ID="currentOption" runat="server" CssClass="btn btn-primary active btn-lg" Text="Current" GroupName="timeSelector" OnCheckedChanged="timeSelector_CheckedChanged" AutoPostBack="true" />
            <asp:RadioButton ID="pastOption" runat="server" CssClass="btn btn-primary active btn-lg" Text="Past" GroupName="timeSelector" OnCheckedChanged="timeSelector_CheckedChanged" AutoPostBack="true"/>
        </div>

ASPX.cs

protected void timeSelector_CheckedChanged(object sender, EventArgs e)
{
    if (currentOption.Checked)
    {              
        loadCurrentData();
    }
    else
    {
        loadPastData();
    }
}
19.10.2016
Новые материалы

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

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

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

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

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

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

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