Monday, May 25, 2009

GridView Sorting

protected void gridViolationDetails_Sorting(object sender, GridViewSortEventArgs e)
{
DataTable dtsort = (DataTable)ViewState["viewStatViolation"];

string sortExpression = e.SortExpression;
if (GridViewSortDirection == SortDirection.Ascending)
{
GridViewSortDirection = SortDirection.Descending;
SortGridView(sortExpression, "DESC", gridViolationDetails, dtsort);
}
else
{
GridViewSortDirection = SortDirection.Ascending;
SortGridView(sortExpression, "ASC", gridViolationDetails, dtsort);
}
}

public SortDirection GridViewSortDirection
{
get
{
if (ViewState["sortDirection"] == null)
ViewState["sortDirection"] = SortDirection.Ascending;
return (SortDirection)ViewState["sortDirection"];
}
set
{
ViewState["sortDirection"] = value;
}
}

private void SortGridView(string sortExpression, string direction,GridView grdV,DataTable dt)
{
DataView dv = new DataView(dt);
dv.Sort = sortExpression + " " + direction;
grdV.DataSource = dv;
grdV.DataBind();
}

Friday, February 20, 2009

Disabling Close Button on Forms using .net 2.0

Using the Code

During construction and creation of the Form object, .NET would use the default creation parameters available in the base class CreateParams property. In fact, CreateParams property is available in Forms.Control class. In our form class (derived from System.Windows.Forms.Form), override this property and modify the creation flags. For disabling the Close button use 0x200 to modify the ClassStyle member of the CreateParams.




private const int CP_NOCLOSE_BUTTON = 0x200;
protected override CreateParams CreateParams
{
get
{
CreateParams myCp = base.CreateParams;
myCp.ClassStyle = myCp.ClassStyle | CP_NOCLOSE_BUTTON;
return myCp;
}
}