Я создал веб-часть с помощью Visual Studio, чтобы показать выбранные столбцы списка в виде сетки.Но проблема в том, что всякий раз, когда я меняю языковой стандарт на английский-английский (по умолчанию это английский-американский), к сожалению, он, как и сайт, не влияет на него, хотя формат даты должен быть изменен.
Я попробовал следующий код, чтобы изменить язык и формат даты:
protected void btnClick_Event(object sender, EventArgs e)
{
using (SPSite osite = new SPSite(SPContext.Current.Web.Url))
{
using (SPWeb oweb = osite.OpenWeb())
{
if (DropDownList1.SelectedValue == "English-UK")
{
oweb.AllowUnsafeUpdates = true;
oweb.Locale = new System.Globalization.CultureInfo("en-GB");
oweb.Update();
}
else if(DropDownList1.SelectedValue == "English-US")
{
oweb.Locale = new System.Globalization.CultureInfo("en-US");
oweb.Update();
}
lblmsg.Text = "Region changed successfully";
}
}
}
Код веб-части выглядит следующим образом:
using System;
using System.ComponentModel;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;
using System.Data;
namespace SharePointProject100.CustomGridWebpart
{
[ToolboxItemAttribute(false)]
public class CustomGridWebpart : WebPart
{
SPGridView grdview = new SPGridView();
protected override void CreateChildControls()
{
grdview.ID = "grdview";
grdview.AutoGenerateColumns = false;
this.Controls.Add(grdview);
using (SPSite osite = new SPSite(SPContext.Current.Web.Url))
{
using (SPWeb web = osite.OpenWeb())
{
SPList mylist = web.Lists["EmployeeDetails"];
BindToGrid(mylist, grdview);
}
}
}
private void BindToGrid(SPList myList, SPGridView gridView)
{
// get all the listitem
SPListItemCollection results = myList.Items;
// create the datatable object
DataTable table = new DataTable();
table.Columns.Add("Employee Name", typeof(string));
table.Columns.Add("DOB", typeof(string));
table.Columns.Add("JoiningDate", typeof(string));
table.Columns.Add("MembershipExpiryDate", typeof(string));
// Create rows for each splistitem
DataRow row;
foreach (SPListItem result in results)
{
row = table.Rows.Add();
row["Employee Name"] = Convert.ToString(result["Employee Name"]);
row["DOB"] = Convert.ToString(result["DOB"]);
row["JoiningDate"] = Convert.ToString(result["JoiningDate"]);
row["MembershipExpiryDate"] = Convert.ToString(result["MembershipExpiryDate"]);
}
// create the bound fields
SPBoundField boundField;
boundField = new SPBoundField();
boundField.HeaderText = "Employee Name";
boundField.DataField = "Employee Name";
boundField.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
boundField.ItemStyle.Wrap = false;
gridView.Columns.Add(boundField);
boundField = new SPBoundField();
boundField.HeaderText = "DOB";
boundField.DataField = "DOB";
boundField.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
boundField.ItemStyle.Wrap = false;
gridView.Columns.Add(boundField);
boundField = new SPBoundField();
boundField.HeaderText = "JoiningDate";
boundField.DataField = "JoiningDate";
boundField.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
boundField.ItemStyle.Wrap = false;
gridView.Columns.Add(boundField);
boundField = new SPBoundField();
boundField.HeaderText = "MembershipExpiryDate";
boundField.DataField = "MembershipExpiryDate";
boundField.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
boundField.ItemStyle.Wrap = false;
gridView.Columns.Add(boundField);
gridView.AutoGenerateColumns = false;
gridView.DataSource = table.DefaultView;
gridView.DataBind();
}
}
}