Search This Blog

Thursday 24 July 2014

Grid view Coding -- Stored procedure



Grid:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" OnRowCancelingEdit="GridView1_RowCancelingEdit" OnRowCommand="GridView1_RowCommand" OnRowDeleting="GridView1_RowDeleting" OnRowEditing="GridView1_RowEditing" OnRowUpdating="GridView1_RowUpdating" ShowFooter="True" AllowPaging="True" AllowSorting="True" OnPageIndexChanging="GridView1_PageIndexChanging" OnRowDataBound="GridView1_RowDataBound" OnSorting="GridView1_Sorting" PageSize="5" >

<Columns>
<asp:TemplateField HeaderText="Id">
<ItemTemplate>
<asp:Label ID="lblTestId" runat="server" Text='<%# Eval("TestId")%>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtTestId" runat="server" Text='<%# Eval("TestId")%>'></asp:TextBox>
</EditItemTemplate>
<FooterTemplate>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Name">
<ItemTemplate>
<asp:Label ID="lblName" runat="server" Text='<%# Eval("Name")%>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="DropDownList1" runat="server">
<asp:ListItem Value="1">ABC</asp:ListItem>
<asp:ListItem Value="2">BCD</asp:ListItem>
<asp:ListItem Value="3">CDE</asp:ListItem>
</asp:DropDownList>
<%--<asp:TextBox ID="txtName" runat="server" Text='<%# Eval("Name")%>'></asp:TextBox>--%>
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtftTestname" runat="server" ></asp:TextBox>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Temp">
<ItemTemplate>
<asp:Label ID="lblTemp" runat="server" Text='<%# Eval("Temp")%>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtTemp" runat="server" Text='<%# Eval("Temp")%>'></asp:TextBox>
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtftTestTemp" runat="server" Text='<%# Eval("TestId")%>'></asp:TextBox>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Edit">
<ItemTemplate>
<asp:LinkButton ID="hlEdit" runat="server" CommandName="Edit">Edit</asp:LinkButton>&nbsp;&nbsp;

<asp:LinkButton ID="hlDelete" runat="server" CommandName="Delete">Delete</asp:LinkButton>&nbsp;&nbsp;
</ItemTemplate>
<EditItemTemplate>
<asp:LinkButton ID="hlUpdate" runat="server" CommandName="Update">Update</asp:LinkButton>&nbsp;&nbsp;
<asp:LinkButton ID="hlCancel" runat="server" CommandName="Cancel">Cancel</asp:LinkButton>
</EditItemTemplate>
<FooterTemplate>

<asp:LinkButton ID="hlInsert" runat="server" CommandName="Insert">Insert</asp:LinkButton>
</FooterTemplate>
</asp:TemplateField>
</Columns>
<HeaderStyle BackColor="#FF6600" BorderColor="White" BorderStyle="Inset" />
</asp:GridView>


CS code:
SqlConnection connectionString = new SqlConnection(ConfigurationManager.AppSettings["LocalConnectionString1"].ToString());
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
BindGrid();
}
}

public void BindGrid()
{
SqlCommand sqlCmd = new SqlCommand();
sqlCmd.Connection = connectionString;
sqlCmd.CommandType = CommandType.StoredProcedure;
sqlCmd.CommandText="spTest";
sqlCmd.Parameters.Add("@Type", SqlDbType.VarChar,50).Value = "select";
SqlDataAdapter da = new SqlDataAdapter(sqlCmd);
DataSet ds = new DataSet();
da.Fill(ds,"TableTest");
GridView1.DataSource = ds;
GridView1.DataBind();
}

protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
TextBox txtTestId = (TextBox)GridView1.Rows[e.RowIndex].FindControl("txtTestId");
DropDownList txtName = (DropDownList)GridView1.Rows[e.RowIndex].FindControl("DropDownList1");
//TextBox txtName = (TextBox)GridView1.Rows[e.RowIndex].FindControl("txtName");
TextBox txtTemp = (TextBox)GridView1.Rows[e.RowIndex].FindControl("txtTemp");

SqlCommand sqlCmd = new SqlCommand();
sqlCmd.Connection = connectionString;
sqlCmd.CommandType = CommandType.StoredProcedure;
sqlCmd.CommandText = "spTest";
sqlCmd.Parameters.Add("@Type", SqlDbType.VarChar, 50).Value = "update";
sqlCmd.Parameters.Add("@testId", SqlDbType.Int).Value = txtTestId.Text;
sqlCmd.Parameters.Add("@Name", SqlDbType.VarChar, 50).Value = txtName.SelectedItem.ToString();
sqlCmd.Parameters.Add("@temp", SqlDbType.VarChar, 50).Value = txtTemp.Text;
SqlDataAdapter da = new SqlDataAdapter(sqlCmd);
DataSet ds = new DataSet();
da.Fill(ds, "TableTest");
GridView1.EditIndex = -1;
BindGrid();
}

protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
BindGrid();
}

protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
Label lblTestId = (Label)GridView1.Rows[e.RowIndex].FindControl("lblTestId");

SqlCommand sqlCmd = new SqlCommand();
sqlCmd.Connection = connectionString;
sqlCmd.CommandType = CommandType.StoredProcedure;
sqlCmd.CommandText = "spTest";
sqlCmd.Parameters.Add("@Type", SqlDbType.VarChar, 50).Value = "delete";
sqlCmd.Parameters.Add("@testId", SqlDbType.Int).Value = lblTestId.Text;
SqlDataAdapter da = new SqlDataAdapter(sqlCmd);
DataSet ds = new DataSet();
da.Fill(ds, "TableTest1");
GridView1.EditIndex = -1;
BindGrid();
}

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)

{
if(e.CommandName=="Insert"){
GridViewRow row = (GridViewRow)(((Control)e.CommandSource).NamingContainer);
// TextBox txtTestId = (TextBox)row.FindControl("txtTestId");
TextBox txtName = (TextBox)row.FindControl("txtftTestname");
TextBox txtTemp = (TextBox)row.FindControl("txtftTestTemp");
SqlCommand sqlCmd = new SqlCommand();
sqlCmd.Connection = connectionString;
sqlCmd.CommandType = CommandType.StoredProcedure;
sqlCmd.CommandText = "spTest";
sqlCmd.Parameters.Add("@Type", SqlDbType.VarChar, 50).Value = "insert";
//sqlCmd.Parameters.Add("@testId", SqlDbType.Int).Value = txtTestId.Text;
sqlCmd.Parameters.Add("@Name", SqlDbType.VarChar, 50).Value = txtName.Text;
sqlCmd.Parameters.Add("@temp", SqlDbType.VarChar, 50).Value = txtTemp.Text;
connectionString.Open();
int i = sqlCmd.ExecuteNonQuery();
connectionString.Close();
// SqlDataAdapter da = new SqlDataAdapter(sqlCmd);
// DataSet ds = new DataSet();
// da.Fill(ds, "TableTest");
GridView1.EditIndex = -1;
BindGrid();
}
}

protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)

{
GridView1.EditIndex = -1;
BindGrid();
}

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
int ProductPrice = Convert.ToInt32(DataBinder.Eval(e.Row.DataItem, "Temp"));
if (ProductPrice > 400)
{
e.Row.ForeColor = System.Drawing.Color.Crimson;
e.Row.Font.Italic = true;
e.Row.BackColor = System.Drawing.Color.Aqua;
}

if (ProductPrice < 400)
{
e.Row.ForeColor = System.Drawing.Color.Crimson;
e.Row.Font.Italic = true;
e.Row.BackColor = System.Drawing.Color.LightYellow;
}
}
}



protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)

{
BindGrid();
GridView1.PageIndex = e.NewPageIndex;
GridView1.DataBind();
}

protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
{
DataTable dtSortTable = GridView1.DataSource as DataTable;
if (dtSortTable != null)
{
DataView dvSortedView = new DataView(dtSortTable);
dvSortedView.Sort = e.SortExpression + "" + getSortDirectionString(e.SortDirection);
GridView1.DataSource = dvSortedView;
GridView1.DataBind();
}
}

private string getSortDirectionString(SortDirection sortDirection)
{

string newSortDirection = String.Empty;
if (sortDirection == SortDirection.Ascending)
{
newSortDirection = "ASC";
}
else
{
newSortDirection = "DESC";
}
return newSortDirection;

}

No comments:

Post a Comment