Showing posts with label grid view. Show all posts
Showing posts with label grid view. Show all posts

Wednesday, February 1, 2012

Use Ajax Slider as Paging in Grid View

for using Slider as paging in grid view first of all we have to use textbox/label control and ajax slider control in grid view .

<PagerTemplate>
    <asp:TextBox ID="txtSlide" runat="server" Text='<%# gvDispatch.PageIndex + 1 %>' OnTextChanged="txtSlide_Changed" AutoPostBack="true" />
         
    <ajaxToolkit:SliderExtender ID="ajaxSlider" runat="server" TargetControlID="txtSlide" Orientation="Horizontal"/>
     </PagerTemplate>


code behind code---c#

protected void txtSlide_Changed(object sender, EventArgs e)
{
    TextBox txtCurrentPage = sender as TextBox;
    GridViewRow rowPager = gvDispatch.BottomPagerRow;
    TextBox txtSliderExt = (TextBox)rowPager.Cells(0).FindControl("txtSlide");
    gvDispatch.PageIndex = Int32.Parse(txtSliderExt.Text) - 1;
    BindDispatchData();
}

protected void  gvDispatch_RowDataBound(object sender,System.Web.UI.WebControls.GridViewRowEventArgs e)
{
    GridViewRow rowPager = gvDispatch.BottomPagerRow;
    if ((rowPager != null)) {
        AjaxControlToolkit.SliderExtender slide = (AjaxControlToolkit.SliderExtender)rowPager.Cells(0).FindControl("ajaxSlider");
        slide.Minimum = 1;
        slide.Maximum = gvDispatch.PageCount;
        slide.Decimals = true;
        slide.Length = gvDispatch.PageCount;
        slide.Steps = gvDispatch.PageCount;
    }
}

after rendering page slider take over Textbox/label control

Monday, January 2, 2012

GridView: display serial row number

<asp:TemplateField>
    <ItemTemplate>
        <%# Container.DataItemIndex + 1 %>
    </ItemTemplate>
</asp:TemplateField>

Friday, December 16, 2011

Show Header of GridView when it has no rows to show

------------------
.aspx file
------------------
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>Grdview with Header</title>
<style type="text/css">
.Gridview
{
font-family:Verdana;
font-size:10pt;
font-weight:normal;
color:black;
width:300px;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="gvdata" runat="server" CssClass="Gridview" AutoGenerateColumns="false" HeaderStyle-BackColor="#7779AF" HeaderStyle-ForeColor="White">
<Columns>
<asp:BoundField DataField="id" HeaderText="ID"/>
<asp:BoundField DataField ="name" HeaderText="Name" />
<asp:BoundField DataField="Sal" HeaderText="Salary" />

</Columns>
</asp:GridView>
</div>
</form>
</body>
</html>
----------------------------
.cs file
----------------------------
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
BindGridviewData();
}
}
protected void BindGridviewData()
{
SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=testdb;Integrated Security=True");
con.Open();
SqlCommand cmd = new SqlCommand("select id,name,sal from emp ", con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
if(ds.Tables[0].Rows.Count==0)
{
ds.Tables[0].Rows.Add(ds.Tables[0].NewRow());
gvdata.DataSource = ds;
gvdata.DataBind();
int columncount = gvdata.Rows[0].Cells.Count;
gvdata.Rows[0].Cells.Clear();
gvdata.Rows[0].Cells.Add(new TableCell());
gvdata.Rows[0].Cells[0].ColumnSpan = columncount;
gvdata.Rows[0].Cells[0].Text = "No Records Found";
}
else
{
gvdata.DataSource = ds;
gvdata.DataBind();  
}
con.Close();
}