Prajucta.Chatarjee Ответов: 7

поиск значения в таблице


привет.

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


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

спасибо

с уважением
праджукта

indrajeet jadhav

Вы опубликуете свой код ??так что мы можем помочь вам лучше

Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ)

Пожалуйста, поищите в Google и попробуйте что-нибудь.
Если у вас возникнут проблемы, вернитесь сюда и задайте вопрос.

Prajucta.Chatarjee

поскольку я новичок, у меня нет никакого представления об этом.
я слишком много раз искал в Google, но до сих пор не нашел удовлетворительного решения.

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

Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ)

Проверьте мой ответ.

Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ)

Привет Праджукта,

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

Спасибо,
Тадит.

7 Ответов

Рейтинг:
56

Thanks7872

Это должно вам помочь.

Поиск строки в DataGridView в C#[^]

С уважением..


Prajucta.Chatarjee

спасибо, что он мне помог .. Большое спасибо.

Thanks7872

Всегда хорошо принимать ответы, которые помогли вам, чтобы другие знали, что сработало так, как ожидалось.

Рейтинг:
51

Ashwani Gusain

Если вам нужны значения из текстового поля которое находится под gridview
Пусть это поможет вам.

Textbox tex= gridview1.findcontrol("your textbox name") as textbox;
string value=tex.text;


Prajucta.Chatarjee

спасибо за ваш ответ, но это не то решение, которое я ищу.

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

Ashwani Gusain

пожалуйста, используйте эту ссылку, может быть, это поможет

http://bytes.com/topic/c-sharp/answers/885319-search-value-datagridview

Prajucta.Chatarjee

Большое спасибо.
я понял. :) я закончил.. :)
спасибо Ашвани Гусейн
спасибо всем..

Ashwani Gusain

если вы получили ответ Пожалуйста нажмите на кнопку Принять ответ

Рейтинг:
40

dibyaaryan007

Here Is Fully Working Codes.
where gvDetail is name of Grid view. 
On Search Button Click Write The Codes. 

searchString = textBox1.Text.Trim(); 
if (searchString == string.Empty || searchString.Length < 8)
  {
     MessageBox.Show("Enter Valid Consumer Number..!");
  }
  else
   {
     foreach (DataGridViewRow row in gvDetail.Rows)
   {                              if(row.Cells["SERVICENO"].Value.ToString().Contains(searchString))
    {
      gvDetail.CurrentRow.Selected = false;
      gvDetail.Rows[row.Index].Selected = true;
      int index = row.Index;
      gvDetail.FirstDisplayedScrollingRowIndex = index;
      break;
    }
  }
}


Prajucta.Chatarjee

спасибо Дибьяранджану.
это работает. :)

Рейтинг:
1

murkalkiran

в кнопке поиска напишите этот код я использовал fluxgird для тестирования u может использовать datagridview

try
{
    FormatGrid();

    OleDbConnection con = new OleDbConnection(path);
    con.Open();
    //OleDbDataAdapter da = new OleDbDataAdapter("Select * from ItemMast where Icode like '" + txtICode.Text.Trim() + "%' order by Iname", con);
    OleDbDataAdapter da = new OleDbDataAdapter("Select * from ItemMast where IName like '" + txtICode.Text.Trim() + "%' order by IName", con);
    DataSet ds = new DataSet();
    da.Fill(ds, "ItemMast");
    DataTable dt = ds.Tables["ItemMast"];
    if (dt.Rows.Count > 0)
    {
        int i = 1;
        MSGrid1.Rows = dt.Rows.Count + 1;
        foreach (DataRow dr in dt.Rows)
        {
            MSGrid1.set_TextMatrix(i, 0, i.ToString());
            MSGrid1.set_TextMatrix(i, 1, dr["ICode"].ToString());
            MSGrid1.set_TextMatrix(i, 2, dr["IName"].ToString());
            MSGrid1.set_TextMatrix(i, 3, dr["SubSubGroupName"].ToString());
            MSGrid1.set_TextMatrix(i, 4, dr["GroupName"].ToString());
            MSGrid1.set_TextMatrix(i, 5, dr["SubGroupName"].ToString());
            //MSGrid1.set_TextMatrix(i, 4, dr["ICode"].ToString());
            //MSGrid1.set_TextMatrix(i, 3, dr["AvlQty"].ToString());

            double st1 = double.Parse(dr["AvlQty"].ToString());

            if (CheckDecimal(st1) == false)
                MSGrid1.set_TextMatrix(i, 6, st1.ToString("0"));
            else
                MSGrid1.set_TextMatrix(i, 6, st1.ToString());     

            i = i + 1;
        }
    }
    con.Close();
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message);
}


Рейтинг:
1

Prajucta.Chatarjee

Этот Код Работает . :)
gvDetail - это имя представления сетки.


searchString = textBox1.Text.Trim(); 
if (searchString == string.Empty || searchString.Length < 8)
  {
     MessageBox.Show("Enter Valid Consumer Number..!");
  }
  else
   {
     foreach (DataGridViewRow row in gvDetail.Rows)
   {                              if(row.Cells["SERVICENO"].Value.ToString().Contains(searchString))
    {
      gvDetail.CurrentRow.Selected = false;
      gvDetail.Rows[row.Index].Selected = true;
      int index = row.Index;
      gvDetail.FirstDisplayedScrollingRowIndex = index;
      break;
    }
  }
}


Рейтинг:
0

Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ)

Ссылаться - [Решение 3] Другой цвет строки в Gridview[^]

Цитата:
foreach (GridViewRow gvrow in GridView1.Rows)
{
    if(gvrow.Cells["ID"].Value = 1)
    {
          gvrow.DefaultCellStyle.BackColor = Color.Red;
    }
    else
    {
          gvrow.DefaultCellStyle.BackColor = Color.Green;          
    }
}

Здесь он проверяет значение идентификатора 1.

Согласно вашим требованиям, вам нужно проверить идентификатор заказчика вот так и сопоставьте это с искомым идентификатором (введенным в поле TextBox).

Также проверить - поиск значения в datagridview[^]


Рейтинг:
0

Member 14021241

//Просто улучшаю предыдущее решение (решение 7)

строки searchString = текстовое поле textbox1.Текст.Отделка();

{
по каждому элементу (ячейки datagridviewrow Row в сетке.Строк)
{
if (row.Cells[1].Value.Метод toString().ToLower() == строка поиска.ToLower() || строка.Ячейки[1].Значение.Метод toString().ToLower().Contains( searchString.Нижестоящим()) )
{
Управления GridView.Не();
Управления GridView.CurrentRow.Selected = false;
Управления GridView.Строки[row.Index].Selected = true;
int index = строка.Индекс;
Управления GridView.FirstDisplayedScrollingRowIndex = индекс;
перерыв;
}
}
}


CHill60

В каком смысле это улучшение?
Вы очищаете выбор сетки несколько раз и сняли флажок на пустую строку поиска.
Сбрасывать неформатированный код без объяснения причин бесполезно