Рейтинг:
1
Vincent Maverick Durano
Если вы используете ADO.NET с помощью DataTable для привязки вашего GridView вы можете сделать что-то вроде этого:
protected void BindGrid(string searchText){
using(SqlConnection connection = new SqlConnection("YOUR CONNECTION STRING HERE")){
using(SqlCommand cmd = new SqlCommand(sql,connection)){
string sql = "SELECT * FROM TableName WHERE YourFieldName = @Param1";
cmd.Parameters.AddWithValue("@Param1", searchText);
DataTable dt = new DataTable();
SqlDataAdapter ad = new SqlDataAdapter(cmd);
ad.Fill(dt);
if (dt.Rows.Count > 0) { //check if the query returns any data
GridView1.DataSource = dt;
GridView1.DataBind();
}
else
{
//No records found
}
}
}
}
protected void Button1_Click(object sender, EventArgs e){
BindGrid(YourTextBoxID.Text.Trim());
}
Приведенный выше код является типичным способом поиска конкретной записи в базе данных на основе значения текстового поля. Возможно,Вам потребуется проверить текст, чтобы убедиться в правильности формата дат. Вы также можете использовать элемент управления MaskEdit или Calendar extender для текстового поля, чтобы убедиться, что введенные даты действительны. В зависимости от вашего типа данных вам также может потребоваться выполнить преобразование типа данных из string в datetime.
Надеюсь, это поможет.
Member 12677894
я не хочу использовать запрос для получения результатов, я хочу получать результаты из самой сетки
Vincent Maverick Durano
Для этого вам нужно будет использовать манипуляции DOM. Вы можете попробовать использовать JavaScript/jQuery для его реализации, но он будет искать только текущую подкачанную сетку. Вы не можете ожидать, что будете выполнять манипуляции DOM на стороне клиента для поиска скрытых страниц сетки. Если вам нужен пример, выполните поиск в google, используя этот термин: "Search GridView using JavaScript" удачи!
Member 12677894
пользователь: Индия
сервер: США
в базе данных есть две даты приема
1)24/06/2016 14:30:00
2)25/06/2016 00:00:00
во время отображения я переведу их в индийское эквивалентное время, добавив к ним 9 часов 30 минут, возьму короткую часть и отобразлю в сетке
таким образом, при отображении в сетке 24/06/2016 14: 30:00 преобразовано в 25/06/2016 00: 00: 00 и 25/06/2016 00: 00 преобразовано в 25/06/2016 9: 30: 00, и если мы возьмем короткую дату, то часть из них будет 25/06/2016, и обе записи будут воспроизведены как 25/06/2016
теперь, когда пользователь хочет отфильтровать запись по дате приема, он вводит 25/06/2016, когда мы отправляем входные данные в запрос, только одна запись совпадает и извлекает запись,
если мы преобразуем введенную пользователем дату 25/06/2016 в время США, то это будет 24/06/2016 14: 30:00, и она будет совпадать с 24/06/2016 14: 30: 00, а не совпадать с 25/06/2016 00: 00: 00,
таким образом, пользователь не может получить записи должным образом, так как же мне решить эту проблему??