2010-09-16 13 views
0

Je souhaite styliser un SPGridview en tant que ligne. Je peux le faire en ASP .NET comme suit (ce qui est un exemple de code et n'a pas de sens que j'ai écrit ici à cause de décrire clairement le problème sur le côté du programmateur.):SharePoint Gridview en ligne

<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> 

Bien sûr, Eval sections devraient correspondre avec les noms des colonnes SQL dans la chaîne de requête. Donc, je veux faire la même chose avec Sharepoint Gridview. SPGridview prend également en charge le modèle d'élément, mais le problème est de savoir comment lier les données à Eval (ou à toute autre partie de Sharepoint).

Ce problème vous semble bête mais il y a un grand champ de texte dans un SPList et je veux l'afficher sous le titre en utilisant un webpart. J'ai aussi essayé des vues mais je pense que SharePoint a une logique "basée sur des colonnes".

Je pense que ce problème peut être résolu en utilisant CAML Query mais je ne sais pas comment lier des données aux sections Databinder.Eval() de la page Webpart. Par exemple, lorsque vous utilisez SQL et ASP.NET, vous pouvez écrire la chaîne de connexion dans le fichier web.config et la définir dans datasource dans la page aspx et vous pouvez écrire une requête dans la page aspx ... Vous pouvez également ajouter des paramètres. J'essaie de travailler de la même manière, mais je ne sais pas comment définir SPList (qui est une chaîne de connexion dans un scénario sql) et obtenir des données. J'ai essayé ce qui suit, mais pas de chance:

<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> 

Avez-vous une suggestion?

Répondre

0

je dirais à mon humble avis, il est préférable de nourrir SPGridView avec SPDataSource mais si vous souhaitez utiliser des données SQL, vous pouvez toujours le faire, reportez-vous cette Link où vous pouvez trouver par exemple sur la façon de le faire. Aussi article this parle plus d'ajouter Menu à la grille.