Search This Blog

Tuesday, January 25, 2011

How to show limited characters in gridview or how to limit displayed text length in gridview

I have created one web application for that we have prepared one feedback form to collect feedback from users regarding our application for that we have taken gridview to bind all the feedbacks into one page for the admin view. Here some of the users have given one line of feedback some of the users have given two lines of feedback remaining people have given feedback with bigger matter at that time if we bind all the feedbacks to one gridview at that time gridview size has increased a lot and in some rows matter is small but columns size is bigger. 


For that reason we tried to maintain consistency for entire gridview to maintain consistency for gridview we need to write functionality in Gridview RowDataBound event


Design your aspx page like this

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Gridview Columns With Limited Characters</title>
</head>
<body>
<form id="form1" runat="server">
<table   cellpadding="0" cellspacing="0" width="300px" align="center">
<tr>
<td>
<asp:GridView ID="GridView1" runat="server" Width="100%" 
CssClass="feedbacklink" AutoGenerateSelectButton="True"  
onrowdatabound="GridView1_RowDataBound" PageSize="5" >
</asp:GridView>
</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td>
<asp:TextBox ID="txtmsg" runat="server" TextMode="MultiLine"
CssClass="textarea" Width="300px" ></asp:TextBox></td>
</tr>
</table>
</form>
</body>
</html> 


In code behind write this functionality to bind gridview and write functionality in Gridview_Rowdatabound to limit the characters in gridview columns.



string strConn = "Data Source=System;Initial Catalog=SamplesDB;Integrated Security=True";
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
bindGrid();

}
public void bindGrid()
{
SqlConnection con = new SqlConnection(strConn);
DataSet myDataSet = new DataSet();
SqlCommand cmd = new SqlCommand("Select * from Feedback", con);
SqlDataAdapter myDataAdapter = new SqlDataAdapter(cmd);
myDataAdapter.Fill(myDataSet);
GridView1.DataSource = myDataSet;
GridView1.DataBind();
}
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
int i = 0;
e.Row.Cells[3].Visible = false;
if (e.Row.RowType == DataControlRowType.DataRow)
{
foreach (TableCell cell in e.Row.Cells)
{
i++;
string s = cell.Text;
if (cell.Text.Length > 25 && (i == 3))
cell.Text = cell.Text.Substring(0, 25) + "....";
cell.ToolTip = s;
}
}
}

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.