VB.net에서 의 메서드를 사용하여 검색 상자의 텍스트를 기반으로 DataGridView에서 결과를 필터링하고 있습니다. 그러나이 검색의 아이디어는 의에 텍스트가 포함되어 있으면 행을 표시한다는 것입니다. 그래서 내 필터 문자열은 다음과 같이 찾고 끝 :vb.net bindingsource 날짜를 문자열로 캐스팅
filter = "ProductId LIKE '%" & searchterm & "%'" & " OR ScanDate like '%" & searchterm & "%'"
을 그러나, 나는 필터 속성에 필터를 넣어하려고 할 때, 그것은 비교를 위해 텍스트로 날짜 열을 변환 할 수 없다는, 불평.
날짜/시간 셀을 문자열로 변환하도록 필터에 지시하는 방법이 있습니까?
내가 생각하고있는 것은 날짜의 캐스팅 된 버전이 포함 된 데이터 집합에 숨겨진 열이있는 것입니다. 필터를 열로 필터링하도록 알려줍니다. 당신은 당신의 필터 코드를 분해한다
bindingSource.Filter = filter
dgv.DataSource = bindingSource.DataSource
는 C#을있는 아무 문제 작동하고, 이것이 실용적하지만,이 키 입력에 따라 필터 및 제품 ID이 PRD1234567처럼 보이는, 그래서 그들은 입력하면 "23"23 인치의 제품 ID 또는 23 일 같은 스캔 날짜를 표시 할 수 있습니다. "23/01/2010 12:00:00" – CrazyPenguin
23을 입력하면 23 시간 23 분 23 초뿐 아니라 하루 검색. 이 작업을 수행하려면 올바른 날짜 형식이 되려면 DateTime을 패딩해야합니다. DD/MM/YYYY hh : MM : SS 형식이어야합니다. –
그게 내가하고 싶은거야. 그 자체에 23을 입력하면 productid에 23이 있거나 23/21/2010 12:00:00 또는 10/01/00과 같이 날짜/시간에 23이 들어있는 행이 반환됩니다. 2023 12:00:00 "또는"10/01/2010 12:23:00 ". 필자가 필터 자체에서 문자열을 캐스트 할 수 있다면 예상대로 작동합니다. 나는 그걸하는 법을 모른다. – CrazyPenguin