Member 13723018 Ответов: 2

Как искать gridview по столбцам на стороне клиента


я связал текстовые поля в первой строке теперь как искать записи в соответствующих столбцах

Что я уже пробовал:

охраняемых недействительными grdColdStorageDetails_DataBound(объект отправителя, EventArgs в электронной)
{
GridViewRow row = new GridViewRow(0, 0, DataControlRowType.Заголовок, DataControlRowState.Обычный);
for (int i = 0; i < grdColdStorageDetails.Столбцы.Граф; i++)
{
Ячейка TableHeaderCell = новая ячейка TableHeaderCell();
TextBox txtSearch = новое текстовое поле();
txtSearch.Атрибуты["заполнитель"] = grdColdStorageDetails.Колонки[i].HeaderText;
txtSearch.CssClass = "search_textbox";
ячейка.Управления.Добавить(txtSearch);
ряд.Управления.Добавить(ячейка);
}
grdColdStorageDetails.Строку заголовка.Родитель.Управления.AddAt(1, строка);
}

2 Ответов

Рейтинг:
1

Vincent Maverick Durano

Все усложнится, если вы попытаетесь совместить серверные элементы управления с клиентскими функциями. GridView-это серверный элемент управления данными, который предоставляет серверные возможности, которыми вы можете воспользоваться. Если вы хотите манипулировать данными в GridView на клиенте (JavaScript), то вам придется изучить JavaScript для манипулирования DOM (HTML-элементами). Вы можете попробовать посмотреть на jQuery lib, поскольку он предоставляет селекторы, которые можно использовать для управления DOM. Но имейте в виду, что это может занять у вас много времени и усилий, если вы не знакомы с клиентскими сценариями.

Другой вариант-использовать предварительно приготовленную клиентскую сетку, которая делает все основные вещи, необходимые для вашей сетки. Одним из хороших примеров является использование Bootstrap DataTables. Смотрите это для демонстрации: Пример таблиц данных - поиск по отдельным столбцам (ввод текста)[^]


Рейтинг:
0

Member 13658881

попробуйте это мой пример кода... вы должны изменить его

void bindsearch()
       {
           if (txtcname.Text == "" && txtdname.Text == "" && ddlicense.SelectedItem.Text == "All" && ddStatus.SelectedItem.Text == "All")
           {
               bind();
               return;
           }
           string str = "";

           if (txtcname.Text.Trim() != "")
           {
               str = "and ClientMst.ClientName like '%" + txtcname.Text.Trim() + "%'";
           }
           if (txtdname.Text.Trim() != "")
           {
               str = "and ClientMst.DisplayName like '%" + txtdname.Text.Trim() + "%'";
           }
           if (txtcname.Text.Trim() != "" && txtdname.Text.Trim() != "")
           {
               str = "and ClientMst.ClientName = '" + txtcname.Text.Trim() + "'";
           }
           if (ddStatus.SelectedItem.Text.Trim() != "All")
           {
               str = str + "and Active ='" + ddStatus.SelectedValue.Trim() + "'";
           }
           if (ddlicense.SelectedItem.Text.Trim() != "All")
           {
               str = str + "and License ='" + ddlicense.SelectedValue.Trim() + "'";
           }
           princ.Columns[1].Visible = true;
           string query = "  select ClientID,ClientName,DisplayName,ContPerson,contmob,case when License=1 then 'Full' else (Replace(convert(Varchar(20),Period,113),' ','/')) end as License, " +
                          "  Period,case when Active=0 then 'Yes' else 'No' end as Active " +
                          "  from ClientMst where ClientID<>'' " + str + " ";
           SqlCommand cmd = new SqlCommand(query, con);
           SqlDataAdapter da = new SqlDataAdapter(cmd);
           DataTable dt = new DataTable();
           da.Fill(dt);
           if (dt.Rows.Count != 0)
           {
               princ.DataSource = dt;
               princ.DataBind();
           }
           else
           {
               ddStatus.ClearSelection();
               ddlicense.ClearSelection();
               txtcname.Text = "";
               txtdname.Text = "";
               bind();
               MessageInfo.MessageIcon = MessageIcons.ErrorIcon;
               TMessageBox1.Show(this.Title, "NO Record", (TMessageBox.MessageIcons)MessageInfo.MessageIcon, true);
               return;
           }
           princ.Columns[1].Visible = false;
       }