Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Помогите с DataGrid и TextBox Добавлено: 29.05.09 11:59  

Автор вопроса:  Andrey999 | Web-сайт: www.radio-device.narod.ru | ICQ: 30852361 
Как сделать так чтобы при наборе текста в поле TextBox1 в DataGrid оставались только записи удовлетворяющие условию, То ест набрал ИВАНОВ в текстовом поле, а DataGrid остались только ИВАНОВ.
PS не ругайтесь я начинающий.

Ответить

  Ответы Всего ответов: 8  

Номер ответа: 1
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #1 Добавлено: 29.05.09 12:26
Это делается через свойство Filter источника данных

Ответить

Номер ответа: 2
Автор ответа:
 Andrey999



ICQ: 30852361 

Вопросов: 73
Ответов: 168
 Web-сайт: www.radio-device.narod.ru
 Профиль | | #2
Добавлено: 29.05.09 12:44
Лучше примером, я так не пойму

Ответить

Номер ответа: 3
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #3 Добавлено: 29.05.09 13:02
А пример в МСДН найдешь. Вариант решения зависит от того как ты заполняешь DataGrid

Ответить

Номер ответа: 4
Автор ответа:
 Andrey999



ICQ: 30852361 

Вопросов: 73
Ответов: 168
 Web-сайт: www.radio-device.narod.ru
 Профиль | | #4
Добавлено: 29.05.09 13:12
Grid заполняю так
  1. Me._20_ОтпускПродукцииTableAdapter.Fill(Me.Server_2DataSet._20_ОтпускПродукции)


Вот нарыл код
  1. Private Sub txtSearch_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtSearch.TextChanged
  2.         Dim ColNumber As Integer
  3.         ColNumber = 1
  4.  
  5.         Dim SearchString As String
  6.         Dim cellValue As String
  7.  
  8.         cellValue = LCase(Me.txtSearch.Text)
  9.  
  10.         Dim LengthText As Integer
  11.         Dim i As Integer, ii As Integer, FoundText As Integer
  12.         Dim x As Long, CellText As String
  13.         Dim selectedCell As New DataGridCell
  14.  
  15.         LengthText = Len(cellValue)
  16.  
  17.         Dim cm As CurrencyManager = Me.BindingContext(Me.DataGridView.DataSource, Me.DataGridView.DataMember)
  18.         Dim dv As DataView = CType(cm.List, DataView)
  19.  
  20.         For i = 1 To dv.Count
  21.             Application.DoEvents()
  22.             selectedCell.RowNumber = i
  23.             selectedCell.ColumnNumber = ColNumber
  24.             Try
  25.                 CellText = DataGrid(SelectedCells) ТУТ ПИШЕТ "Ошибка 1 "DataGrid" является типом и не может использоваться как выражение." и "Ошибка 2 Имя "SelectedCells" не объявлено."
  26.             Catch ex As Exception
  27.                 If Me.txtSearch.Text <> "" Then MsgBox("Значений не найдено", MsgBoxStyle.Exclamation)
  28.                 Exit Sub
  29.             End Try
  30.  
  31.             CellText = LCase(CellText)
  32.             CellText = Microsoft.VisualBasic.Left(CellText, LengthText)
  33.             FoundText = InStr(1, CellText, cellValue)
  34.             If FoundText <> 0 Then
  35.                 selectedCell.RowNumber = i
  36.                 DataGridView.CurrentCell = New DataGridCell(i, ColNumber) И ТУТ "Ошибка 3 Невозможно преобразовать значение типа "System.Windows.Forms.DataGridCell" в "System.Windows.Forms.DataGridViewCell"."
  37.                 DataGrid.Select(i)
  38.                 Me.txtSearch().Focus()
  39.                 RemVal = i
  40.                 Exit Sub
  41.             End If
  42.         Next i
  43.     End Sub

Ответить

Номер ответа: 5
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #5 Добавлено: 29.05.09 13:39
фигя ссе ты тут кучу навалил..

можно так сделать
  1. DataSet1.Tables("Orders").Columns("LastName").Expression = "LastName LIKE '%ИВАНОВ%'"


либо так, если ты связываешь контрол с источником данных через BindingSource
  1. My_BindingSource1.Filter = "LastName LIKE '%ИВАНОВ%'"


разумется, названия таблиц и колонок свои подставишь.. а вместо ИВАНОВ содержимое своего тектового поля

Ответить

Номер ответа: 6
Автор ответа:
 Andrey999



ICQ: 30852361 

Вопросов: 73
Ответов: 168
 Web-сайт: www.radio-device.narod.ru
 Профиль | | #6
Добавлено: 31.05.09 22:15
Ну помогите Гуру плиз, умираю. Хотябы пример работы с DGV, дальше разбирусь.
PS НЕ ГУБИТЕ!!!

Ответить

Номер ответа: 7
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #7 Добавлено: 31.05.09 23:03
Блин.. да чего тут помогать? Вопрос то плевый! я же тебе всю информацию!
Если и мой пример не поможет, то я бессилен чем либо тебе помочь...

  1.  
  2.     public partial class Form1 : Form
  3.     {
  4.         public Form1()
  5.         {
  6.             InitializeComponent();
  7.             CreateDataSource();
  8.         }
  9.  
  10.         private void CreateDataSource()
  11.         {
  12.             /* create datatable... */
  13.             DataTable dataTable = new DataTable("Users");
  14.             /* add columns... */
  15.             dataTable.Columns.AddRange(new DataColumn[] {
  16.                                        new DataColumn("LastName", typeof(string)),
  17.                                        new DataColumn("Age", typeof(int))});
  18.             /* add data rows... */
  19.             dataTable.Rows.Add(new object[] { "Иванов", 25 });
  20.             dataTable.Rows.Add(new object[] { "Петров", 37 });
  21.             dataTable.Rows.Add(new object[] { "Сидоров", 16 });
  22.             
  23.             /* set datagridview datasource... */
  24.             dataGridView1.DataSource = dataTable;
  25.         }
  26.  
  27.         private void textBox1_TextChanged(object sender, EventArgs e)
  28.         {
  29.             /* create filter expression... */
  30.             string expression = string.Format("LastName LIKE '%{0}%'", textBox1.Text);
  31.             /* set datateble filter... */
  32.             ((DataTable)dataGridView1.DataSource).DefaultView.RowFilter = expression;
  33.             /* update datagridview... */
  34.             dataGridView1.Refresh();
  35.         }
  36.     }

Ответить

Номер ответа: 8
Автор ответа:
 Dully



ICQ: 229882730 

Вопросов: 19
Ответов: 51
 Профиль | | #8 Добавлено: 04.06.09 17:22
а как ты грид заполняешь напиши, мы уж чего может и подскажем...

        dvCust = dtCust.DefaultView
        
        dvCust.RowFilter = "CustName LIKE '%" & txtFilter.Text & "%'"

        grdCustomers.DataSource = dvCust

вот еще как пример

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам