我已經創建了具有自定義列表和ListViewByQuery的webpart,現在我需要在按下按鈕時獲取選定的行。不知怎的,我明白,我應該使用的ECMAScript對於這一點,但我不明白HOWTO做到這一點:從SharePoint 2010中的ListViewByQuery中獲取選定的項目
我Showlist.ascx文件看起來像這樣:
<%@ Assembly Name="$SharePoint.Project.AssemblyFullName$" %>
<%@ Assembly Name="Microsoft.Web.CommandUI, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="asp" Namespace="System.Web.UI" Assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>
<%@ Import Namespace="Microsoft.SharePoint" %>
<%@ Register Tagprefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="ListCasesUserControl.ascx.cs" Inherits="Codan_LotMix.ListCases.ListCasesUserControl" %>
<style type="text/css">
.style1
{
font-size: large;
}
</style>
<p class="style1">
<strong>Ärenden</strong></p>
<p>
<SharePoint:ListViewByQuery ID="caseView" runat="server" />
<p>
</p>
<asp:Button ID="GetCase" runat="server" Text="Button" onclick="GetCase_Click" />
<asp:TextBox ID="Selected" runat="server" Width="557px"></asp:TextBox>
而且ShowList.cs有這個(這裏ListViewByQuery列表被創建);
protected void Page_Load(object sender, EventArgs e)
{
SPList list = SPContext.Current.Web.Lists["cCase_Instance"];
caseView.List = list;
SPQuery query = new SPQuery(caseView.List.DefaultView);
query.ViewFields = "<FieldRef Name='cCase_Customer'/><FieldRef Name='cCase_Date'/><FieldRef Name='cCase_CreatedBy'/>";
query.Query = "<OrderBy><FieldRef Name='cCase_Date' Ascending='FALSE'></";
caseView.Query = query;
}
protected void GetCase_Click(object sender, EventArgs e)
{
Selected.Text = "HERE SHOULD THE SELECTED ROW BE VISIBLE";
}
如何使用ECMAScript來獲取選定的行?或者當我按下按鈕時,還能以其他方式從所選行中獲取文本?
/M