我在Sharepoint中有3个列表.
我想创建一个数据视图,它是3个表的连接.
Table1与FieldA上的Table2连接.表2连接到FieldB上的Table3
Table1在FieldA中具有重复值,因此我只需返回一个值以与Table2连接.
在Access中,我的查询如下所示:SELECT DISTINCT WRK_InputWorkOrders.WorkOrder,Production1.[Part Number],Production1.[Work Order],Production1.Location,StationItems.Station,Production1.Description,Production1.Revision,WRK_InputWorkOrders.Status FROM StationItems INNER JOIN(WRK_InputWorkOrders INNER JOIN Production1 ON WRK_InputWorkOrders.WorkOrder = Production1.[Work Order])ON StationItems.Item = Production1.[Part Number] WHERE(((WRK_InputWorkOrders.Status)<>"closed"));
有没有办法为dataviews编写类似sql的查询?
我有Sharepoint Designer 2007和Access.
目标是获取用户可以在Internet Explorer中查看的报告.我尝试过使用这种方法.但它返回重复的记录我发现了这个建议.它建议不使用XPath过滤器(@yourvalue = preceding-sibling :: dfs:YourRepeatingRowName/@ yourvalue)
但是无法让它发挥作用.我不知道输入什么作为YourRepeatingRowName
我找到了这个链接.有谁知道它是否可以用来执行这样的连接?
<!-- GroupHeaderStyle -->
<Style x:Key="GroupHeaderStyle" TargetType="{x:Type GroupItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type GroupItem}">
<Expander IsExpanded="False" Margin="15,0,0,0">
<Expander.Header>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding ????????????}"/>
<TextBlock Text="-->"/>
<TextBlock Text="{Binding Name}"/>
</StackPanel>
</Expander.Header>
<ItemsPresenter />
</Expander>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,我希望显示它被分组的属性名称.性别 - >男孩; 性别 - >女孩.
public class Test
{
string gender;
public string Gender
{
get { return gender; }
set { gender = value; }
}
}
Run Code Online (Sandbox Code Playgroud)
我应该提供什么????????????? 在上面的xaml?
另外,如果有任何好的书或链接解释分组的内部细节,请告诉我ListCollectionView.
我有数据表,显示不同时期不同城市的统计数据。它有以下列名称
Period | city1,state | city2,state | city3,state
Jan 15 25 20
Feb 5 26 29
Mar 35 27 21
Run Code Online (Sandbox Code Playgroud)
我应用了一些逻辑,它给了我列名称来对相应的列名称进行排序,并再次将数据与前端的网格绑定。
现在当我尝试使用以下代码进行排序时出现问题
griData.DefaultView.Sort = string.Format("{0} {1}", orderByField, sortDirection)
Run Code Online (Sandbox Code Playgroud)
由于列名中的逗号,它将其视为两列并给出异常。示例:如果我按 city1,state 列升序排序,则排序表达式将为city1,state asc,并且在执行该语句时,它会抛出列 city1 不存在的异常,而不是排序。谢谢
我正在尝试根据与另一个表的关系缩小DataView中的行,而我正在使用的RowFilter如下所示;
dv = new DataView(myDS.myTable,
"id IN (SELECT DISTINCT parentID FROM myOtherTable)",
"name asc",
DataViewRowState.CurrentRows);
Run Code Online (Sandbox Code Playgroud)
"myTable"和"myOther"表通过myTable.ID和myOtherTable.parentID相关,因此我们的想法是DataView应该只包含来自"myTable"的行,这些行在"myOtherTable"中有相应的子行.
不幸的是,我收到了这个错误;
语法错误:'DISTINCT'运算符后缺少操作数.
据我所知,SQL很好,所以我想知道在使用DISTINCT关键字作为RowFilter的SQL的一部分有一些限制吗?任何人都有任何想法?
我需要将两个DataViews一起添加到一个Dataview,然后可以绑定到Repeater.
我正在插入其他人的API,因此我无法更改在SQL级别检索数据的方式.
所以基本上我想这样做:
DataView dView1 = getActiveModules();
DataView dView2 = getInactiveModules();
ModuleView = dView1 + dView2;
rptModules.DataSource = ModuleView.Tables[0];
rptModules.DataBind();
Run Code Online (Sandbox Code Playgroud)
视图的两个模式只是检索活动和非活动模块.
有任何想法吗?
谢谢.
我将过滤器应用于Dataview,之后我需要获取过滤后的数据.在过滤之前我做了:
dvUnloadOpenAccounts.RowFilter = "uso_id = '30640'";
foreach (DataRow row in dvUnloadOpenAccounts.Table.Rows)
{
HSSFRow dataRow = sheet.CreateRow(rowIndex);
foreach (DataColumn column in dvUnloadOpenAccounts.Table.Columns)
{
dataRow.CreateCell(column.Ordinal).SetCellValue(row[column].ToString());
}
rowIndex++;
}
Run Code Online (Sandbox Code Playgroud)
所以我需要对过滤后的数据做同样的事情.
我有一个名为 Account 的强类型数据表,我在 Account.FullName 上排序:
DataView dvAccount = new DataView(dtAccount)
dvAccount.Sort = "FullName desc";
Run Code Online (Sandbox Code Playgroud)
全名是查询后从我的数据集中生成的字段,基于名字、中间名、姓氏等。不幸的是,这意味着按 SQL 查询排序不是一个选项。
首先我尝试得到这样的表:
dtAccount = dvAccount.Table()
Run Code Online (Sandbox Code Playgroud)
但这给了我 Dataview 所基于的原始表。所以在网上阅读后我发现我应该使用该DataView.ToTable()函数而不是该DataView.Table()函数:
dtAccount = dvAccount.ToTable() as dsAccount.AccountDataTable; // returns null
dtAccount = ((dsAccount.AccountDataTable) dvAccount.ToTable()); // gives Convertion to Typed Datatable Error
Run Code Online (Sandbox Code Playgroud)
现在我遇到的问题是我的帐户表是强类型的。因此,在线搜索告诉我,我可以使用DataTable.Merge()函数或DataTable.ImportRow()每一行,但这些被告知是一个非常繁重的过程,因为每一行都会检查类型。这种情况的最佳实践解决方案是什么?
我有4个字节的ArrayBuffer,我使用dataview在索引0处分配了一个数字.当我尝试使用dataview获取值时,正确地给出了结果,但是当我尝试使用类型化数组获取值时,它没有给出正确的结果.任何人都可以帮忙吗?这是代码:
var buffer = new ArrayBuffer(4);
var dataview = new DataView(buffer);
dataview.setUint32(0,5000);
var unint32 = new Uint32Array(buffer);
console.log(unint32[0]); //2282946560 instead of 5000
console.log(dataview.getUint32(0)); //shows correctly 5000
Run Code Online (Sandbox Code Playgroud) 我正在将数据网格绑定到DataView.我想在显示数据时隐藏ID列.ID列需要存在于数据中,因为它在我的代码的另一部分中使用.
ID列始终是第一个(索引0)列.
我是否认为DataContextChanged事件不能保证所有列都已刷新?
如何在隐藏列之前确保绑定已完成?理想情况下,我想通过列名隐藏它.
编辑:忘了说我不能在XAML中指定列,因为它们是从动态SQL生成的.
我有这行代码使用数据视图view_1,我试图通过product_name及其大小过滤datagridview RowFilter.这是代码:
view_1.RowFilter = "product_name = '" + cboProduct.Text + "' AND size = " + cboSize.Text + "";
Run Code Online (Sandbox Code Playgroud)
当我尝试运行应用程序时,它说Missing operand after '=' operator.那么缺少操作数是什么?
dataview ×10
c# ×6
asp.net ×2
datatable ×2
rowfilter ×2
wpf ×2
ado.net ×1
data-binding ×1
javascript ×1
sharepoint ×1
sorting ×1
sql ×1
typedarray ×1