Hiiii,
I want to filter data of gridview using Textboxes which placed on grids header. Its simple like Boostrap DataTable. Based on filtered data pagng should work and Sorting with Bootstrap Arrow up n Down. I have created some sample but textboxes are not in grid header.
HTML
<%@ Page Title="" Language="C#" MasterPageFile="~/Admin_Master.master" AutoEventWireup="true"
CodeFile="Subject.aspx.cs" Inherits="Subject" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
<%--Script for CheckBox Selection --%>
<script type="text/javascript">
function CheckBoxCheck(rb) {
var gv = document.getElementById("<%=grdSubject.ClientID%>");
var rbs = gv.getElementsByTagName("input");
var row = rb.parentNode.parentNode;
for (var i = 0; i < rbs.length; i++) {
if (rbs[i].type == "checkbox") {
if (rbs[i].checked && rbs[i] != rb) {
rbs[i].checked = false;
break;
}
}
}
}
</script>
<%-- Script of checkbox ends here --%>
<script type="text/javascript">
function pageLoad(sender, args) {
if (!args.get_isPartialLoad()) {
$addHandler(document, "keydown", onKeyDown);
}
}
function onKeyDown(e) {
if (e && e.keyCode == Sys.UI.Key.esc) {
$find('mpeMessageBox').hide();
$find('mpeDeleteSubject').hide();
}
}
</script>
<style>
.form-horizontal .control-label
{
padding-top: 7px;
margin-bottom: 0;
text-align: left;
}
.left
{
padding-left: 0px;
}
.bothcenter
{
padding-left: 10px;
padding-right: 0px;
}
.pnlback
{
background-color: silver;
}
.input-sm
{
border: 1px;
border-style: solid;
}
body
{
font-family: Arial;
font-size: 10pt;
}
</style>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<div class="ContentBack col-md-12 col-lg-12">
<div class="panel panel-danger">
<div class="panel-heading">
<i class="fa fa-bell fa-fw"></i>
<center>
<b>Subject Master</b></center>
</div>
<div class="panel-body">
<div class="form-horizontal">
<div class="form-group">
<asp:Label ID="lblSubName" runat="server" Text="Subject Name" CssClass="control-label col-md-offset-2 col-lg-offset-2 col-md-2 col-lg-2 "></asp:Label>
<div class="col-md-6 col-lg-6">
<asp:TextBox ID="txtSubject" runat="server" CssClass="form-control input-sm" Style="text-transform: uppercase"
MaxLength="30"></asp:TextBox>
</div>
<div class="col-md-2 col-lg-2">
<asp:RequiredFieldValidator ID="rfv1" runat="server" ErrorMessage="Please Enter Subject"
ControlToValidate="txtSubject" ForeColor="Red" CssClass="control-label" SetFocusOnError="True"
ToolTip="Enter"></asp:RequiredFieldValidator>
</div>
</div>
<div class="form-group">
<asp:Label ID="lblHqrsSubCode" runat="server" Text="HQRS Sub Code" CssClass="control-label col-md-offset-2 col-lg-offset-2 col-md-2 col-lg-2 "></asp:Label>
<div class="col-md-2 col-lg-2">
<asp:TextBox ID="txtHqrsSubCode" runat="server" CssClass="form-control input-sm "
MaxLength="4" Style="text-transform: uppercase"></asp:TextBox>
</div>
<asp:Label ID="lblHqrsDesc" runat="server" Text="HQRS Sub Description" CssClass="control-label col-lg-2"></asp:Label>
<div class="col-md-2 col-lg-2">
<asp:TextBox ID="txtHqrsSubDesc" runat="server" CssClass="form-control input-sm"
Style="text-transform: uppercase" MaxLength="30"></asp:TextBox>
</div>
</div>
<div class="form-group">
<div class="col-md-offset-1 col-lg-offset-1 col-md-1 col-lg-1">
<asp:Label ID="lblSubjectCode" runat="server" Text="" Visible="false"></asp:Label>
</div>
<div class=" col-md-2 col-lg-2">
<asp:LinkButton ID="btnSave" runat="server" CssClass="btn btn-success btn-block"
OnClick="btnSave_Click" Text="Save">
<span aria-hidden="true" class="glyphicon glyphicon-save"></span> SAVE
</asp:LinkButton>
</div>
<div class=" col-md-2 col-lg-2">
<asp:LinkButton ID="btnUpdate" runat="server" CssClass="btn btn-warning btn-block"
OnClick="btnUpdate_Click" Text="Edit">
<span aria-hidden="true" class="glyphicon glyphicon-edit"></span> UPDATE
</asp:LinkButton>
</div>
<div class=" col-md-2 col-lg-2">
<asp:LinkButton ID="btnDelete" runat="server" CssClass="btn btn-danger btn-block"
OnClick="btnDelete_Click" Text="Save">
<span aria-hidden="true" class="glyphicon glyphicon-trash"></span> DELETE
</asp:LinkButton>
</div>
<div class=" col-md-2 col-lg-2">
<asp:Button ID="btnClear" runat="server" Text="CLEAR" CssClass="btn btn-default btn-block"
OnClick="btnClear_Click" />
</div>
</div>
</div>
</div>
</div>
<div class="well well-lg">
<asp:UpdatePanel ID="upCrudGrid" runat="server">
<ContentTemplate>
<div class="form-horizontal">
<div class="form-group">
<asp:Label ID="lblSearchCode" runat="server" Text="Search Code" CssClass="col-md-1 col-lg-1 control-label"></asp:Label>
<div class="col-md-1 col-lg-1">
<asp:TextBox ID="txtSerCode" runat="server" Style="text-transform: uppercase" CssClass="form-control input-sm"
MaxLength="4" AutoPostBack="true" OnTextChanged="txtSerCode_TextChanged"></asp:TextBox>
<cc1:FilteredTextBoxExtender ID="TextBoxWatermarkExtender1" runat="server" TargetControlID="txtSerCode"
FilterType="Numbers">
</cc1:FilteredTextBoxExtender>
</div>
<asp:Label ID="lblSearchName" runat="server" Text="Search Name" CssClass="col-md-1 col-lg-1 control-label "
Style="padding-right: 0px"></asp:Label>
<div class="col-md-2 col-lg-2">
<asp:TextBox ID="txtSerName" runat="server" MaxLength="30" CssClass="form-control input-sm"
Style="text-transform: uppercase" AutoPostBack="true" OnTextChanged="txtSerName_TextChanged"></asp:TextBox>
</div>
<div class="col-md-3 col-lg-2">
<div class="row">
<asp:Label ID="Label1" runat="server" Text="Hqrs Code" CssClass="col-md-5 col-lg-5 control-label "
Style="padding-right: 0px"></asp:Label>
<div class="col-md-7 col-lg-7">
<asp:TextBox ID="txtSerHqrsCode" runat="server" CssClass="form-control input-sm"
MaxLength="4" AutoPostBack="true" Style="text-transform: uppercase" OnTextChanged="txtSerHqrsCode_TextChanged"></asp:TextBox>
</div>
</div>
</div>
<asp:Label ID="Label5" runat="server" Text="Sub Description" CssClass="col-md-1 col-lg-1 control-label "
Style="padding-right: 0px"></asp:Label>
<div class="col-md-2 col-lg-2">
<asp:TextBox ID="txtSerHqrsDesc" runat="server" CssClass="form-control input-sm"
AutoPostBack="true" MaxLength="30" OnTextChanged="txtSerHqrsDesc_TextChanged"
Style="text-transform: uppercase"></asp:TextBox>
</div>
<asp:Label ID="lblPageSize" runat="server" Text="Page Size" CssClass="col-md-1 col-lg-1 control-label"></asp:Label>
<div class="col-md-1 col-lg-1">
<asp:TextBox ID="txtPageSize" runat="server" CssClass="form-control input-sm" AutoPostBack="true"
MaxLength="4" OnTextChanged="txtPageSize_TextChanged">
</asp:TextBox>
</div>
</div>
</div>
<div class="table-responsive">
<asp:GridView ID="grdSubject" runat="server" HorizontalAlign="Center" Width="100%"
OnRowDataBound="grdSubject_RowDataBound" AutoGenerateColumns="false" AllowPaging="true"
OnPageIndexChanging="grdSubject_PageIndexChanging" OnSelectedIndexChanged="grdSubject_SelectedIndexChanged"
DataKeyNames="Subjectcode" CssClass=" table table-hover table-condensed " AlternatingRowStyle-BackColor="LightGray"
GridLines="Both" BorderStyle="Solid" BorderWidth="1px">
<HeaderStyle CssClass="bg-info" />
<Columns>
<asp:TemplateField HeaderText="Select" HeaderStyle-CssClass="GridHeaders" HeaderStyle-Width="5%">
<ItemTemplate>
<asp:CheckBox ID="chkSelect" runat="server" AutoPostBack="true" GroupName="SingleSelection"
onclick="CheckBoxCheck(this);" OnCheckedChanged="chkSelect_CheckedChanged" />
</ItemTemplate>
<ItemStyle HorizontalAlign="Center"></ItemStyle>
</asp:TemplateField>
<asp:TemplateField HeaderText="Sr No" HeaderStyle-HorizontalAlign="Center" HeaderStyle-Width="5%"
HeaderStyle-CssClass="GridHeaders">
<ItemTemplate>
<asp:Label ID="lblSrNo" runat="server" Text='<%#Container.DataItemIndex+1 %>'></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:BoundField DataField="Subjectcode" HeaderText="Subject Code" ItemStyle-Width="10%"
HeaderStyle-CssClass="GridHeaders" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField DataField="Subject" HeaderText="Subject Name" ItemStyle-Width="28%"
ItemStyle-HorizontalAlign="Left" HeaderStyle-CssClass="GridHeaders" />
<asp:BoundField DataField="HQRS_SUB_CODE" HeaderText="HQRS Sub Code" ItemStyle-Width="10%"
HeaderStyle-CssClass="GridHeaders" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField DataField="HQRS_SUB_DESC" HeaderText="HQRS Sub Desc" ItemStyle-Width="28%"
ItemStyle-HorizontalAlign="Left" HeaderStyle-CssClass="GridHeaders" />
</Columns>
<PagerStyle HorizontalAlign="Center" />
<PagerSettings Mode="NumericFirstLast" PageButtonCount="6" FirstPageText="First"
LastPageText="Last" />
</asp:GridView>
<!---DeleteSubject Modal Popup -->
<asp:LinkButton ID="lnkDeleteFake" runat="server"></asp:LinkButton>
<asp:Panel ID="pnlDeleteSubject" runat="server" CssClass="modalPopup" Style="display: none;
width: 30%">
<div id="Div1" runat="server" class="header">
</div>
<div style="overflow-y: auto; overflow-x: hidden; max-height: 450px;">
<div class="modal-header bg-danger" style="background-color: #d9534f">
<div class="title" style="color: white; text-shadow: none">
<i class="fa fa-trash"></i>Do you Want to delete this record ?
</div>
</div>
<div align="right" class="modal-body" style="margin-top: 0px">
<div class="row">
<div class="col-md-12">
<asp:HiddenField ID="hfDeleteSubjectCode" runat="server" Value="0" />
<asp:LinkButton ID="btnYes" runat="server" Text="Yes" OnClick="Yes" class="btn btn-danger btn-sm"
CausesValidation="false" Style="text-shadow: none"><span class="glyphicon glyphicon-ok"> YES</span></asp:LinkButton>
<asp:Button ID="btnNo" runat="server" class="btn btn-default btn-sm" CausesValidation="false"
Text="Cancel" />
</div>
</div>
</div>
</div>
</asp:Panel>
<cc1:ModalPopupExtender ID="mpeDeleteSubject" runat="server" PopupControlID="pnlDeleteSubject"
TargetControlID="lnkDeleteFake" BehaviorID="mpeDeletProduct" CancelControlID="btnNo"
BackgroundCssClass="modalBackground">
</cc1:ModalPopupExtender>
<!---DeleteSubject Modal Popup End-->
<!---MessageBox Modal Popup-->
<asp:LinkButton ID="lnkFakeAlert" runat="server"></asp:LinkButton>
<cc1:ModalPopupExtender ID="mpeMessageBox" runat="server" PopupControlID="pnlMessageAlert"
TargetControlID="lnkFakeAlert" BehaviorID="mpeMessageAlert" CancelControlID="btnCloseAlert"
BackgroundCssClass="modalBackground">
</cc1:ModalPopupExtender>
<asp:Panel ID="pnlMessageAlert" runat="server" Style="display: none;">
<div class="alert alert-success" role="alert" runat="server" id="AlertMsg">
<asp:LinkButton ID="btnCloseAlert" runat="server" CssClass="close" data-dismiss="alert"
aria-label="Close"><span aria-hidden="true">×</span></asp:LinkButton>
<span class=" glyphicon glyphicon-ok"></span> <strong>Alert!</strong>
<asp:Label ID="lblmsg" runat="server" Text=""></asp:Label>
</div>
</asp:Panel>
<!---MessageBox Modal Popup End-->
</div>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="grdSubject" />
</Triggers>
</asp:UpdatePanel>
</div>
</div>
<%-- <script src="js/jquery-1.8.3-jquery.min.js"></script>--%>
</asp:Content>
C#
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.OleDb;
using System.Globalization;
using System.Linq;
using System.Threading;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.OleDb;
using System.Text.RegularExpressions;
public partial class Subject : System.Web.UI.Page
{
OleDbConnection piscon = new OleDbConnection(ConfigurationManager.ConnectionStrings["PISConnectionString"].ConnectionString);
int SubjectCode = 0;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindSubjectGrid();
btnUpdate.CssClass = "btn btn-warning btn-block disabled";
btnDelete.CssClass = "btn btn-danger btn-block disabled";
btnUpdate.Enabled = false;
btnDelete.Enabled = false;
this.Page.Title = "Subject Master";
}
}
/* Bind Employee Grid*/
private void BindSubjectGrid()
{
/* Code For Bind Employee Grid*/
string query = "Select SubjectCode,Subject,Hqrs_Sub_Code , Upper(Hqrs_Sub_Desc) as Hqrs_Sub_Desc from Subject_Table order by SubjectCode desc ";
OleDbCommand cmd = new OleDbCommand(query);
string constr = ConfigurationManager.ConnectionStrings["PISConnectionString"].ConnectionString;
OleDbConnection con = new OleDbConnection(constr);
OleDbDataAdapter sda = new OleDbDataAdapter();
cmd.Connection = con;
sda.SelectCommand = cmd;
DataSet ds = new DataSet();
sda.Fill(ds);
grdSubject.DataSource = ds;
grdSubject.DataBind();
}
/* Clear controls values and Set default value to controls */
private void ClearAll()
{
btnSave.CssClass = "btn btn-success btn-block";
btnUpdate.CssClass = "btn btn-warning btn-block disabled";
btnDelete.CssClass = "btn btn-danger btn-block disabled ";
btnSave.Enabled = true;
btnUpdate.Enabled = false;
btnDelete.Enabled = false;
for (int i = 0; i < grdSubject.Rows.Count; i++)
{
GridViewRow gr = grdSubject.Rows[i];
CheckBox rdo = gr.Cells[0].FindControl("chkSelect") as CheckBox;
if (rdo.Checked == true)
{
rdo.Checked = false;
}
}
txtSubject.Text = "";
txtHqrsSubCode.Text = "";
txtHqrsSubDesc.Text = "";
}
public void IncrementSubjectCode()
{
try
{
int AID = 0;
int lastID = 0;
string sql = "select SubjectCode from Subject_Table";
piscon.Open();
OleDbCommand cmd = new OleDbCommand(sql, piscon);
OleDbDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
AID = Convert.ToInt32(dr["SubjectCode"]);
}
piscon.Close();
if (AID != 0)
{
String query11 = "SELECT MAX(SubjectCode) FROM Subject_Table";
piscon.Open();
OleDbCommand cmdid = new OleDbCommand(query11, piscon);
lastID = int.Parse(cmdid.ExecuteScalar().ToString()) + 1;
SubjectCode = Convert.ToInt16(lastID.ToString());
piscon.Close();
}
else
{
SubjectCode = Convert.ToInt16((lastID + 1).ToString());
}
}
catch (Exception ex)
{
}
}
protected void btnSave_Click(object sender, EventArgs e)
{
CultureInfo culterinfo = Thread.CurrentThread.CurrentCulture;
TextInfo objtxtSerName = culterinfo.TextInfo;
var InSubjectName = objtxtSerName.ToUpper(txtSubject.Text);
var InHqrsSubCode = objtxtSerName.ToUpper(txtHqrsSubCode.Text);
var InHqrsSubDesc = objtxtSerName.ToUpper(txtHqrsSubDesc.Text);
try
{
IncrementSubjectCode();
piscon.Open();
string queryInsert = "Insert into Subject_Table ( SubjectCode ,Subject,HQRS_SUB_CODE, HQRS_SUB_DESC) values ('" + SubjectCode + "','" + InSubjectName + "','" + InHqrsSubCode + "','" + InHqrsSubDesc + "')";
OleDbCommand cmdInsert = new OleDbCommand(queryInsert, piscon);
cmdInsert.ExecuteNonQuery();
piscon.Close();
BindSubjectGrid();
AlertMsg.Attributes["class"] = "alert alert-success";
lblmsg.Text = "Subject Details Added Successfully!!!";
mpeMessageBox.Show();
ClearAll();
}
catch (Exception)
{
AlertMsg.Attributes["class"] = "alert alert-danger";
lblmsg.Text = "Error Occured !! ";
mpeMessageBox.Show();
}
}
protected void btnUpdate_Click(object sender, EventArgs e)
{
CultureInfo culterinfo = Thread.CurrentThread.CurrentCulture;
TextInfo objtxtSerName = culterinfo.TextInfo;
var UpSubjectName = objtxtSerName.ToUpper(txtSubject.Text);
var UpHqrsSubCode = objtxtSerName.ToUpper(txtHqrsSubCode.Text);
var UpHqrsSubDesc = objtxtSerName.ToUpper(txtHqrsSubDesc.Text);
string UpSubjectCode = lblSubjectCode.Text;
try
{
OleDbCommand cmdUpdate = new OleDbCommand("Update Subject_Table set Subject='" + UpSubjectName + "',HQRS_SUB_CODE='" + UpHqrsSubCode + "',HQRS_SUB_DESC='" + UpHqrsSubDesc + "' where SubjectCode='" + UpSubjectCode + "'", piscon);
piscon.Open();
cmdUpdate.ExecuteNonQuery();
piscon.Close();
BindSubjectGrid();
ClearAll();
AlertMsg.Attributes["class"] = "alert alert-success";
lblmsg.Text = "Subject Details Updated Successfully!!";
mpeMessageBox.Show();
}
catch (Exception)
{
AlertMsg.Attributes["class"] = "alert alert-danger";
lblmsg.Text = "Error Occured !!";
mpeMessageBox.Show();
}
}
protected void btnDelete_Click(object sender, EventArgs e)
{
string DelSubjectCode = lblSubjectCode.Text;
mpeDeleteSubject.Show();
}
protected void btnClear_Click(object sender, EventArgs e)
{
ClearAll();
}
#region Grid Bind Methods and Events
protected void BindGridBySerCode()
{
string SearchCode = txtSerCode.Text;
try
{
{
piscon.Open();
string query = "Select SubjectCode,Subject,Hqrs_Sub_Code , Upper(HQRS_SUB_DESC) as HQRS_SUB_DESC from Subject_Table where SubjectCode like '%" + SearchCode + "%' order by SubjectCode desc";
OleDbCommand cmd1 = new OleDbCommand(query, piscon);
OleDbDataAdapter da1 = new OleDbDataAdapter();
da1.SelectCommand = cmd1;
DataSet ds = new DataSet();
da1.Fill(ds);
if (txtPageSize.Text != "")
{
if (ds.Tables[0].Rows.Count < Convert.ToInt64(txtPageSize.Text))
{
txtPageSize.Text = ds.Tables[0].Rows.Count.ToString();
}
}
if (ds.Tables[0].Rows.Count == 0)
{
ds.Tables[0].Rows.Add(ds.Tables[0].NewRow());
grdSubject.DataSource = ds;
grdSubject.DataBind();
int columncount = grdSubject.Rows[0].Cells.Count;
grdSubject.Rows[0].Cells.Clear();
grdSubject.Rows[0].Cells.Add(new TableCell());
grdSubject.Rows[0].Cells[0].ColumnSpan = columncount;
grdSubject.Rows[0].Cells[0].Text = "No Record To Display!!!";
}
else
{
grdSubject.DataSource = ds;
grdSubject.DataBind();
}
}
piscon.Close();
}
catch
{
AlertMsg.Attributes["class"] = "alert alert-danger";
lblmsg.Text = "Error Occured ";
mpeMessageBox.Show();
}
}
protected void BindGridBySerName()
{
CultureInfo culterinfo = Thread.CurrentThread.CurrentCulture;
TextInfo objtxtSerName = culterinfo.TextInfo;
var SearchName = objtxtSerName.ToUpper(txtSerName.Text);
try
{
{
piscon.Open();
string query = "Select SubjectCode,Subject,Hqrs_Sub_Code , Upper(HQRS_SUB_DESC) as HQRS_SUB_DESC from Subject_Table where Subject like '%" + SearchName + "%' order by SubjectCode desc";
OleDbCommand cmd1 = new OleDbCommand(query, piscon);
OleDbDataAdapter da1 = new OleDbDataAdapter();
da1.SelectCommand = cmd1;
DataSet ds = new DataSet();
da1.Fill(ds);
if (txtPageSize.Text != "")
{
if (ds.Tables[0].Rows.Count < Convert.ToInt64(txtPageSize.Text))
{
txtPageSize.Text = ds.Tables[0].Rows.Count.ToString();
}
}
if (ds.Tables[0].Rows.Count == 0)
{
ds.Tables[0].Rows.Add(ds.Tables[0].NewRow());
grdSubject.DataSource = ds;
grdSubject.DataBind();
int columncount = grdSubject.Rows[0].Cells.Count;
grdSubject.Rows[0].Cells.Clear();
grdSubject.Rows[0].Cells.Add(new TableCell());
grdSubject.Rows[0].Cells[0].ColumnSpan = columncount;
grdSubject.Rows[0].Cells[0].Text = "No Record To Display!!!";
}
else
{
grdSubject.DataSource = ds;
grdSubject.DataBind();
}
}
piscon.Close();
}
catch
{
AlertMsg.Attributes["class"] = "alert alert-danger";
lblmsg.Text = "Error Occurred!!";
mpeMessageBox.Show();
}
}
protected void BindGridBySerHqrsCode()
{
try
{
{
CultureInfo culterinfo = Thread.CurrentThread.CurrentCulture;
TextInfo objtxtSerName = culterinfo.TextInfo;
var SearchHqrsCode = objtxtSerName.ToUpper(txtSerHqrsCode.Text);
piscon.Open();
string query = "Select SubjectCode,Subject,Hqrs_Sub_Code , Upper(HQRS_SUB_DESC) as HQRS_SUB_DESC from Subject_Table where Hqrs_Sub_Code like '%" + SearchHqrsCode + "%' order by SubjectCode desc";
OleDbCommand cmd1 = new OleDbCommand(query, piscon);
OleDbDataAdapter da1 = new OleDbDataAdapter();
da1.SelectCommand = cmd1;
DataSet ds = new DataSet();
da1.Fill(ds);
if (txtPageSize.Text != "")
{
if (ds.Tables[0].Rows.Count < Convert.ToInt64(txtPageSize.Text))
{
txtPageSize.Text = ds.Tables[0].Rows.Count.ToString();
}
}
if (ds.Tables[0].Rows.Count == 0)
{
ds.Tables[0].Rows.Add(ds.Tables[0].NewRow());
grdSubject.DataSource = ds;
grdSubject.DataBind();
int columncount = grdSubject.Rows[0].Cells.Count;
grdSubject.Rows[0].Cells.Clear();
grdSubject.Rows[0].Cells.Add(new TableCell());
grdSubject.Rows[0].Cells[0].ColumnSpan = columncount;
grdSubject.Rows[0].Cells[0].Text = "No Record To Display!!!";
}
else
{
grdSubject.DataSource = ds;
grdSubject.DataBind();
}
}
piscon.Close();
}
catch
{
AlertMsg.Attributes["class"] = "alert alert-danger";
lblmsg.Text = "Error Occurred!!";
mpeMessageBox.Show();
}
}
protected void BindGridByHqrsDesc()
{
try
{
{
CultureInfo culterinfo = Thread.CurrentThread.CurrentCulture;
TextInfo objtxtSerName = culterinfo.TextInfo;
var SearchText = objtxtSerName.ToUpper(txtSerHqrsDesc.Text);
piscon.Open();
string query = "Select SubjectCode,Subject,Hqrs_Sub_Code , Upper(HQRS_SUB_DESC) as HQRS_SUB_DESC from Subject_Table where HQRS_SUB_DESC like '%" + SearchText + "%' order by SubjectCode desc";
OleDbCommand cmd1 = new OleDbCommand(query, piscon);
OleDbDataAdapter da1 = new OleDbDataAdapter();
da1.SelectCommand = cmd1;
DataSet ds = new DataSet();
da1.Fill(ds);
if (txtPageSize.Text != "")
{
if (ds.Tables[0].Rows.Count < Convert.ToInt64(txtPageSize.Text))
{
txtPageSize.Text = ds.Tables[0].Rows.Count.ToString();
}
}
if (ds.Tables[0].Rows.Count == 0)
{
ds.Tables[0].Rows.Add(ds.Tables[0].NewRow());
grdSubject.DataSource = ds;
grdSubject.DataBind();
int columncount = grdSubject.Rows[0].Cells.Count;
grdSubject.Rows[0].Cells.Clear();
grdSubject.Rows[0].Cells.Add(new TableCell());
grdSubject.Rows[0].Cells[0].ColumnSpan = columncount;
grdSubject.Rows[0].Cells[0].Text = "No Record To Display!!!";
}
else
{
grdSubject.DataSource = ds;
grdSubject.DataBind();
}
}
piscon.Close();
}
catch
{
AlertMsg.Attributes["class"] = "alert alert-danger";
lblmsg.Text = "Error Occurred!!";
mpeMessageBox.Show();
}
}
#endregion
/* If Select Yes on Delete Modal Popup */
protected void Yes(object sender, EventArgs e)
{
try
{
string DelSubjectCode = lblSubjectCode.Text;
OleDbCommand cmd = new OleDbCommand("DELETE FROM Subject_Table WHERE Subjectcode = '" + DelSubjectCode + "'");
cmd.Connection = piscon;
piscon.Open();
cmd.ExecuteNonQuery();
piscon.Close();
BindSubjectGrid();
mpeDeleteSubject.Hide();
AlertMsg.Attributes["class"] = "alert alert-success";
lblmsg.Text = "Subject Deleted Successfully!!!";
mpeMessageBox.Show();
btnSave.CssClass = "btn btn-success btn-block";
btnUpdate.CssClass = "btn btn-warning btn-block disabled";
btnDelete.CssClass = "btn btn-danger btn-block disabled ";
btnSave.Enabled = true;
btnUpdate.Enabled = false;
btnDelete.Enabled = false;
for (int i = 0; i < grdSubject.Rows.Count; i++)
{
GridViewRow gr = grdSubject.Rows[i];
CheckBox rdo = gr.Cells[0].FindControl("chkSelect") as CheckBox;
if (rdo.Checked == true)
{
rdo.Checked = false;
}
}
txtSubject.Text = "";
txtHqrsSubCode.Text = "";
txtHqrsSubDesc.Text = "";
btnClear_Click(null, null);
}
catch (Exception)
{
AlertMsg.Attributes["class"] = "alert alert-danger";
lblmsg.Text = "Error Occurred!!";
mpeMessageBox.Show();
}
}
protected void grdSubject_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
try
{
if (txtPageSize.Text != "")
{
if (txtSerCode.Text != "")
{
grdSubject.PageIndex = e.NewPageIndex;
BindGridBySerCode();
txtSerName.Text = "";
txtSerHqrsCode.Text = "";
txtSerHqrsDesc.Text = "";
}
else if (txtSerName.Text != "")
{
grdSubject.PageIndex = e.NewPageIndex;
BindGridBySerName();
txtSerCode.Text = "";
txtSerHqrsCode.Text = "";
txtSerHqrsDesc.Text = "";
}
else if (txtSerHqrsCode.Text != "")
{
grdSubject.PageIndex = e.NewPageIndex;
BindGridBySerHqrsCode();
txtSerName.Text = "";
txtSerCode.Text = "";
txtSerHqrsDesc.Text = "";
}
else if (txtSerHqrsDesc.Text != "")
{
grdSubject.PageIndex = e.NewPageIndex;
BindGridByHqrsDesc();
txtSerName.Text = "";
txtSerHqrsCode.Text = "";
txtSerCode.Text = "";
}
else
{
grdSubject.PageIndex = e.NewPageIndex;
BindSubjectGrid();
}
}
else
{
if (txtSerCode.Text != "")
{
grdSubject.PageIndex = e.NewPageIndex;
BindGridBySerCode();
txtSerName.Text = "";
txtSerHqrsCode.Text = "";
txtSerHqrsDesc.Text = "";
}
else if (txtSerName.Text != "")
{
grdSubject.PageIndex = e.NewPageIndex;
BindGridBySerName();
txtSerCode.Text = "";
txtSerHqrsCode.Text = "";
txtSerHqrsDesc.Text = "";
}
else if (txtSerHqrsCode.Text != "")
{
grdSubject.PageIndex = e.NewPageIndex;
BindGridBySerHqrsCode();
txtSerName.Text = "";
txtSerCode.Text = "";
txtSerHqrsDesc.Text = "";
}
else if (txtSerHqrsDesc.Text != "")
{
grdSubject.PageIndex = e.NewPageIndex;
BindGridByHqrsDesc();
txtSerName.Text = "";
txtSerHqrsCode.Text = "";
txtSerCode.Text = "";
}
else
{
grdSubject.PageIndex = e.NewPageIndex;
BindSubjectGrid();
txtSerCode.Text = "";
txtSerName.Text = "";
txtSerHqrsCode.Text = "";
txtHqrsSubDesc.Text = "";
}
}
}
catch (Exception)
{
}
}
protected void grdSubject_SelectedIndexChanged(object sender, EventArgs e)
{
int id = int.Parse(grdSubject.DataKeys[grdSubject.SelectedRow.RowIndex].Value.ToString());
for (int i = 0; i < grdSubject.Rows.Count; i++)
{
CheckBox rb = (CheckBox)grdSubject.Rows[i].Cells[0].FindControl("chkSelect");
if (rb.Checked)
{
ViewState["chkSelect"] = rb.Checked;
break;
}
}
}
protected void chkSelect_CheckedChanged(object sender, EventArgs e)
{
try
{
for (int i = 0; i < grdSubject.Rows.Count; i++)
{
GridViewRow gr = grdSubject.Rows[i];
CheckBox rdo = gr.Cells[0].FindControl("chkSelect") as CheckBox;
if (rdo.Checked)
{
int SubjectCode = Convert.ToInt32(gr.Cells[2].Text);
lblSubjectCode.Text = SubjectCode.ToString();
string ReadSubjectInfo = "Select Subject,HQRS_SUB_CODE,HQRS_SUB_DESC from Subject_Table where SubjectCode='" + SubjectCode + "'";
OleDbCommand cmdReadGroupInfo = new OleDbCommand(ReadSubjectInfo, piscon);
piscon.Open();
OleDbDataReader dr = cmdReadGroupInfo.ExecuteReader();
if (dr.Read())
{
txtSubject.Text = dr["Subject"].ToString();
txtHqrsSubCode.Text = dr["HQRS_SUB_CODE"].ToString();
txtHqrsSubDesc.Text = dr["HQRS_SUB_DESC"].ToString();
dr.Close();
piscon.Close();
btnSave.CssClass = "btn btn-success btn-block disabled";
btnUpdate.CssClass = "btn btn-warning btn-block ";
btnDelete.CssClass = "btn btn-danger btn-block ";
btnSave.Enabled = false;
btnUpdate.Enabled = true;
btnDelete.Enabled = true;
}
piscon.Close();
break;
}
else
{
txtSubject.Text = "";
txtHqrsSubCode.Text = "";
txtHqrsSubDesc.Text = "";
rdo.Checked = false;
btnSave.CssClass = "btn btn-success btn-block";
btnUpdate.CssClass = "btn btn-warning btn-block disabled";
btnDelete.CssClass = "btn btn-danger btn-block disabled ";
btnSave.Enabled = true;
btnUpdate.Enabled = false;
btnDelete.Enabled = false;
}
}
}
catch (Exception)
{
AlertMsg.Attributes["class"] = "alert alert-danger";
lblmsg.Text = "Error Occured !! ";
mpeMessageBox.Show();
}
}
protected void grdSubject_RowDataBound(object sender, GridViewRowEventArgs e)
{
#region Color the Search Text in cells
if (e.Row.RowType == DataControlRowType.DataRow)
{
//For Search GroupName
//else
if (txtSerName.Text != "")
{
e.Row.Cells[3].Text = Regex.Replace(e.Row.Cells[3].Text, txtSerName.Text.Trim(), delegate(Match match)
{
return string.Format("<span style = 'color:red'>{0}</span>", match.Value);
}, RegexOptions.IgnoreCase);
}
//For Search Group Name full
else if (txtSerHqrsCode.Text != "")
{
e.Row.Cells[4].Text = Regex.Replace(e.Row.Cells[4].Text, txtSerHqrsCode.Text.Trim(), delegate(Match match)
{
return string.Format("<span style = 'color:red'>{0}</span>", match.Value);
}, RegexOptions.IgnoreCase);
}
//For Search HOD
else if (txtSerHqrsDesc.Text != "")
{
e.Row.Cells[5].Text = Regex.Replace(e.Row.Cells[5].Text, txtSerHqrsDesc.Text.Trim(), delegate(Match match)
{
return string.Format("<span style = 'color:red'>{0}</span>", match.Value);
}, RegexOptions.IgnoreCase);
}
}
#endregion
}
#region TextBox TextChanged Event
protected void txtSerCode_TextChanged(object sender, EventArgs e)
{
txtSerName.Text = "";
txtSerHqrsCode.Text = "";
txtSerHqrsDesc.Text = "";
grdSubject.PageIndex = 0;
BindGridBySerCode();
}
protected void txtSerName_TextChanged(object sender, EventArgs e)
{
txtSerCode.Text = "";
txtSerHqrsCode.Text = "";
txtSerHqrsDesc.Text = "";
grdSubject.PageIndex = 0;
BindGridBySerName();
}
protected void txtSerHqrsCode_TextChanged(object sender, EventArgs e)
{
txtSerCode.Text = "";
txtSerHqrsDesc.Text = "";
grdSubject.PageIndex = 0;
BindGridBySerHqrsCode();
}
protected void txtSerHqrsDesc_TextChanged(object sender, EventArgs e)
{
txtSerCode.Text = "";
txtSerHqrsCode.Text = "";
txtSerName.Text = "";
grdSubject.PageIndex = 0;
BindGridByHqrsDesc();
}
#endregion
protected void txtPageSize_TextChanged(object sender, EventArgs e)
{
try
{
if (txtPageSize.Text != "")
{
if (txtSerCode.Text != "")
{
grdSubject.PageSize = Convert.ToInt16(txtPageSize.Text);
grdSubject.PageIndex = 0;
BindGridBySerCode();
}
else if (txtSerName.Text != "")
{
grdSubject.PageSize = Convert.ToInt16(txtPageSize.Text);
grdSubject.PageIndex = 0;
BindGridBySerName();
}
else if (txtSerHqrsCode.Text != "")
{
grdSubject.PageSize = Convert.ToInt16(txtPageSize.Text);
grdSubject.PageIndex = 0;
BindGridBySerHqrsCode();
}
else if (txtSerHqrsDesc.Text != "")
{
grdSubject.PageSize = Convert.ToInt16(txtPageSize.Text);
grdSubject.PageIndex = 0;
BindGridByHqrsDesc();
}
else
{
grdSubject.PageSize = Convert.ToInt16(txtPageSize.Text);
grdSubject.PageIndex = 0;
BindSubjectGrid();
}
}
else
{
if (txtSerCode.Text != "")
{
grdSubject.PageSize = Convert.ToInt16(5);
grdSubject.PageIndex = 0;
BindGridBySerCode();
}
else if (txtSerName.Text != "")
{
grdSubject.PageSize = Convert.ToInt16(5);
grdSubject.PageIndex = 0;
BindGridBySerName();
}
else if (txtSerHqrsCode.Text != "")
{
grdSubject.PageSize = Convert.ToInt16(5);
grdSubject.PageIndex = 0;
BindGridBySerHqrsCode();
}
else if (txtSerHqrsDesc.Text != "")
{
grdSubject.PageSize = Convert.ToInt16(5);
grdSubject.PageIndex = 0;
BindGridByHqrsDesc();
}
else
{
grdSubject.PageSize = Convert.ToInt16(5);
grdSubject.PageIndex = 0;
BindSubjectGrid();
}
}
}
catch (Exception)
{
AlertMsg.Attributes["class"] = "alert alert-danger";
lblmsg.Text = "Error Occured ";
mpeMessageBox.Show();
}
}
}