0

我想将 a 风格SPGridview化为基于行的。我可以在 ASP .NET 中按如下方式进行(这是示例代码,没有任何意义。我写在这里是因为在程序员方面清楚地描述了问题):

<asp:GridView runat="server" ID="myGrid" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<table>
<tr>
<td>
<b>Position:</b> <%#Eval("Position") %><br />
<b>Gender</b> <%#Eval("Gender") %>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>

当然,Eval部分应该与查询字符串中的 SQL 列名称匹配。所以我想对 Sharepoint 做同样的事情GridviewSPGridview也支持项目模板,但问题是如何将数据绑定到Eval(或 Sharepoint 中的任何内容)部分。

这个问题在你看来很傻,但是 a 中有一个很大的文本字段,SPList我想使用 webpart 在标题下显示它。我也尝试了视图,但我认为 SharePoint 具有“基于列”的逻辑。

我认为这个问题可以通过使用 CAML Query 来解决,但我不知道如何将数据绑定到Databinder.Eval()Webpart 页面中的部分。例如,当您使用SQL和ASP.NET时,您可以将连接字符串写入web.config文件并在aspx页面的数据源中定义它,您可以在aspx页面中编写查询......您也可以添加参数。我尝试以相同的方式工作,但我不知道如何定义 SPList(这是 sql 场景中的连接字符串)并获取数据。我尝试了以下但没有运气:

<SharePoint:SPGridView runat="server" ID="acikPozGrid" AutoGenerateColumns="false" DataSourceID="SPDataSourceCan">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<table>
<tr>
<td>
<b>Pozisyon:</b> <%#DataBinder.Eval(Container.DataItem,"isUnvaniTextBox").ToString() %>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</SharePoint:SPGridView>
<SharePoint:SPDataSource ID="SPDataSourceCan" SelectCommand="<View><Query><Where><IsNotNull><Fieldref Name='isUnvaniTextBox'></Fieldref></IsNotNull></Where></Query></View>" runat="server" DataSourceMode="List">
<SelectParameters>
<asp:Parameter Name="WebURL" DefaultValue="http://omni-can/insankaynaklari" />
<asp:Parameter Name="ListID" DefaultValue="0E50737C-D9A9-4E89-8E5F-E1CFA2310930" />
</SelectParameters>
</SharePoint:SPDataSource>

你有什么建议吗?

4

1 回答 1

0

我想说恕我直言,最好使用 SPDataSource 提供SPGridView ,但如果您想使用 SQL 数据,您可以随时使用,请参阅此链接 ,您可以在其中找到有关如何执行此操作的示例。此外,本文还讨论了有关将菜单添加到网格的更多信息。

于 2010-09-16T16:53:29.453 回答