Dataview의 RowFilter에서 별개를 선택하십시오
문제
나는 다른 테이블과의 관계를 기반으로 내 Dataview에있는 행을 좁히려고 노력하고 있으며, 내가 사용하는 RowFilter는 다음과 같습니다.
dv = new DataView(myDS.myTable,
"id IN (SELECT DISTINCT parentID FROM myOtherTable)",
"name asc",
DataViewRowState.CurrentRows);
"mytable"과 "myother"테이블은 mytable.id 및 myothertable.parentid를 통해 관련되어 있으므로 아이디어는 "myothertable"에 해당하는 자식 행이있는 "mytable"의 행만 포함해야한다는 아이디어입니다.
불행히도, 나는이 오류를 받고 있습니다.
구문 오류 : '별도의'연산자 후 피연산자가 누락되었습니다.
SQL은 내가 아는 한 괜찮으므로 RowFilter의 SQL의 일부로 고유 한 키워드를 사용하는 데 약간의 제한이 있는지 궁금합니다. 누구든지 아이디어가 있습니까?
다른 팁
불행히도 RowFilter 속성이 별개의 키워드를 지원하지 않기 때문에 그렇게 할 수 없습니다. 다음은 행 필터에서 수행 할 수있는 표현식 목록입니다 (이것은 단지 데이터 컬럼 표현식). http://msdn.microsoft.com/en-us/library/system.data.datacolumn.expression.aspx
Dataview에는 Totable 방법이 있으며, 여러 개의 과부하에는 부울이 필요합니다.
다음은 다음과 같습니다. http://msdn.microsoft.com/en-us/library/wec2b2e6.aspx
사용 방법은 다음과 같습니다.
dataTable newDatatable = myDataView.totable (true, [열 이름의 문자열로서]);
DataView dvBindAssignedByDropDown = new DataView();
DataTable dtBindAssignedByDropDown = new DataTable();
dvBindAssignedByDropDown = ds.Tables[0].DefaultView;
string[] strColnames=new string[2];
strColnames[0] = "RedNames";
strColnames[1] = "RedValues";
dtBindAssignedByDropDown = dvBindAssignedByDropDown.ToTable(true, strColnames);
ddlAssignedby.DataTextField = "RedNamesNames";
ddlAssignedby.DataValueField = "RedNames";
ddlAssignedby.DataSource = dtBindAssignedByDropDown;
ddlAssignedby.DataBind();
ddlAssignedby.Items.Insert(0, "Assigned By");
ddlAssignedby.Items[0].Value = "0";
다음 코드는 테이블/dataview, 즉 필드 (container_no)가있는 (prod_desp_trn)에서 고유 한 값/레코드를 추출하는 것입니다. 마지막 으로이 코드는 고유 한 값/레코드로 Combobox (cmbcontainerno)를 채우고 있습니다.
양식 레벨 선언 :
Dim dsLocal As DataSet
Dim dvm As DataViewManager
Private Sub FillcomboContainer()
Try
Dim dv As DataView = New DataView
cmbContainerNo.DataSource = Nothing
dv = dvm.CreateDataView(dsLocal.Tables("PROD_DESP_TRN"))
dv.Sort = "CONTAINER_NO"
cmbContainerNo.DataSource = dv.ToTable(True, "CONTAINER_NO")
cmbContainerNo.DisplayMember = "CONTAINER_NO"
Catch ex As Exception
MsgBox(ex.Message)
Finally
End Try
End Sub
"뚜렷한"을 남기십시오. 이 경우 결과는 유무에 관계없이 동일해야합니다. 거기에서 문제를 해결하십시오.