实现大类与小类的联动性
private void BindIncidentCategory()
{
using (SPSite site = new SPSite(rootsiteurl))
{
using (SPWeb web = site.OpenWeb())
{
SPList list = web.Lists["IncidentCategory"];
SPListItemCollection listitem = list.Items;
DataTable dt = listitem.GetDataTable();
DataView dvSort = new DataView(dt);
string[] colName = new string[] { "CategoryName" };
DataTable dtLargeSort = dvSort.ToTable(true, colName);
DropDownListIncidentCategory.DataValueField = "CategoryName";
DropDownListIncidentCategory.DataValueField = "CategoryName";
DropDownListIncidentCategory.DataSource = dtLargeSort;
DropDownListIncidentCategory.DataBind();
BindIncidentSubCategory(DropDownListIncidentCategory.SelectedItem.Text);
}
}
}
private void BindIncidentSubCategory(string IncidentCategory)
{
using (SPSite site = new SPSite(rootsiteurl))
{
using (SPWeb web = site.OpenWeb())
{
SPList list = web.Lists["IncidentCategory"];
SPQuery query = new SPQuery();
query.Query = "<Where><Eq><FieldRef Name='CategoryName'/><Value Type='Text'>"+IncidentCategory+"</Value></Eq></Where>";
SPListItemCollection listitem = list.GetItems(query);
DataTable dt = listitem.GetDataTable();
DropDownListIncidentSubCategory.DataTextField = "SubCategoryName";
DropDownListIncidentSubCategory.DataValueField = "SubCategoryName";
DropDownListIncidentSubCategory.DataSource = dt;
DropDownListIncidentSubCategory.DataBind();
}
}
}
protected void DropDownListIncidentCategory_SelectedIndexChanged(object sender, EventArgs e)
{
BindIncidentSubCategory(DropDownListIncidentCategory.SelectedItem.Text.Trim());
}
注意要把DropDownListIncidentCategory中AutoPostBack属性设成true