FineUI/FineUI_v6/FineUI.Examples/grid/grid_rowcheckall.aspx.cs
三生石上 62ef818ff0 v6.0.3
2017-09-05 11:30:31 +08:00

99 lines
3.3 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Text;
namespace FineUI.Examples.grid
{
public partial class grid_rowcheckall : PageBase
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindGrid();
}
}
#region BindGrid
private void BindGrid()
{
DataTable table = DataSourceUtil.GetDataTable();
Grid1.DataSource = table;
Grid1.DataBind();
}
#endregion
#region Events
protected void Grid1_RowClick(object sender, GridRowClickEventArgs e)
{
//Alert.ShowInTop(String.Format("你点击了第 {0} 行(单击)", e.RowIndex + 1));
bool checkedState = false;
if (new List<int>(Grid1.SelectedRowIndexArray).Contains(e.RowIndex))
{
checkedState = true;
}
CheckBoxField field1 = (CheckBoxField)Grid1.FindColumn("CheckBoxField1");
CheckBoxField field2 = (CheckBoxField)Grid1.FindColumn("CheckBoxField2");
CheckBoxField field3 = (CheckBoxField)Grid1.FindColumn("CheckBoxField3");
// Grid1.Rows[e.RowIndex].States[field1.ColumnIndex] = true;
field1.SetCheckedState(e.RowIndex, checkedState);
field2.SetCheckedState(e.RowIndex, checkedState);
field3.SetCheckedState(e.RowIndex, checkedState);
}
protected void Button1_Click(object sender, EventArgs e)
{
CheckBoxField field1 = (CheckBoxField)Grid1.FindColumn("CheckBoxField1");
CheckBoxField field2 = (CheckBoxField)Grid1.FindColumn("CheckBoxField2");
CheckBoxField field3 = (CheckBoxField)Grid1.FindColumn("CheckBoxField3");
StringBuilder sb = new StringBuilder();
int selectedCount = Grid1.SelectedRowIndexArray.Length;
if (selectedCount > 0)
{
sb.AppendFormat("共选中了 {0} 行:", selectedCount);
sb.Append("<ol class=\"result\">");
for (int i = 0; i < selectedCount; i++)
{
int rowIndex = Grid1.SelectedRowIndexArray[i];
sb.Append("<li><ul>");
sb.AppendFormat("<li>行号:{0}</li>", rowIndex + 1);
// Grid1.Rows[rowIndex].States[field1.ColumnIndex] 和 field1.GetCheckedState(rowIndex) 的结果相同
sb.AppendFormat("<li>是否在校1{0}</li>", field1.GetCheckedState(rowIndex));
sb.AppendFormat("<li>是否在校2{0}</li>", field2.GetCheckedState(rowIndex));
sb.AppendFormat("<li>是否在校3{0}</li>", field3.GetCheckedState(rowIndex));
sb.Append("</ul></li>");
}
sb.Append("</ol>");
}
else
{
sb.Append("<strong>没有选中任何一行!</strong>");
}
labResult.Text = sb.ToString();
}
#endregion
}
}