I have modified the html as per your repeater structure. Refer the below html.
HTML
<div>
<asp:Repeater ID="rpt" runat="server">
<HeaderTemplate>
<table id="sector-list" class="table table-striped table-bordered">
<thead>
<tr>
<th>
OfferId
</th>
<th>
OfferNo
</th>
<th>
OfferDateTime
</th>
<th>
SalerName
</th>
<th>
OfferStatus
</th>
<th>
Title
</th>
<th>
ContactName
</th>
<th>
Total
</th>
<th>
Action
</th>
</tr>
</thead>
<tbody>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<%#DataBinder.Eval(Container.DataItem,"OfferId") %>
</td>
<td>
<%#DataBinder.Eval(Container.DataItem,"OfferNo") %>
</td>
<td>
<%#DataBinder.Eval(Container.DataItem, "OfferDateTime", "{0:dd.MM.yyyy}")%>
</td>
<td>
<%#DataBinder.Eval(Container.DataItem,"SalerName") %>
</td>
<td align="center">
<%#DataBinder.Eval(Container.DataItem,"OfferStatus") %>
</td>
<td>
<%#DataBinder.Eval(Container.DataItem,"Title") %>
</td>
<td align="center">
<%#DataBinder.Eval(Container.DataItem,"ContactName") %>
</td>
<td style="text-align: right">
<%#DataBinder.Eval(Container.DataItem,"Total","{0:c}") %>
</td>
<td class="td-actions">
<asp:LinkButton ID="lnkEdit" runat="server" CommandName="Edit" CommandArgument='<%#DataBinder.Eval(Container.DataItem,"OfferId") %>'
CssClass="btn btn-small btn-icon-only icon-edit"></asp:LinkButton>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</tbody> </table>
</FooterTemplate>
</asp:Repeater>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript" src="http://mottie.github.io/tablesorter/js/jquery.tablesorter.js"></script>
<script type="text/javascript">
$.tablesorter.addParser({
id: "OfferDateTime",
is: function (s) {
return false;
},
format: function (s) {
s = "" + s;
var hit = s.match(/(\d{1,2})\.(\d{1,2})\.(\d{4})/);
if (hit && hit.length == 4) {
return hit[3] + hit[2] + hit[1];
} else {
return s;
}
},
type: "text"
});
$(function () {
$('[id*=sector-list]').tablesorter({
dateFormat: 'dd.MM.yyyy',
headers: {
0: { sorter: false },
1: { sorter: false },
2: { sorter: "OfferDateTime" },
3: { sorter: false },
4: { sorter: false },
5: { sorter: false },
6: { sorter: false },
7: { sorter: false },
8: { sorter: false }
}
});
});
</script>
</div>
Code
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[] {
new DataColumn("OfferId"),
new DataColumn("OfferNo"),
new DataColumn("OfferDateTime",typeof(DateTime)),
new DataColumn("SalerName"),
new DataColumn("OfferStatus"),
new DataColumn("Title"),
new DataColumn("ContactName"),
new DataColumn("Total")
});
dt.Rows.Add("1", "1", DateTime.Parse("13/6/2016", new CultureInfo("en-IN")), "SalerName1", "y", "Title1", "1111111111", "50");
dt.Rows.Add("2", "2", DateTime.Parse("10/6/2016", new CultureInfo("en-IN")), "SalerName2", "n", "Title2", "2222222222", "45");
dt.Rows.Add("3", "3", DateTime.Parse("9/6/2016", new CultureInfo("en-IN")), "SalerName3", "n", "Title3", "3333333333", "100");
dt.Rows.Add("4", "4", DateTime.Parse("7/6/2016", new CultureInfo("en-IN")), "SalerName4", "y", "Title4", "4444444444", "30");
dt.Rows.Add("5", "5", DateTime.Parse("25/5/2016", new CultureInfo("en-IN")), "SalerName5", "y", "Title5", "4444444444", "30");
dt.Rows.Add("6", "6", DateTime.Parse("24/4/2016", new CultureInfo("en-IN")), "SalerName6", "y", "Title6", "4444444444", "30");
dt.Rows.Add("7", "7", DateTime.Parse("18/3/2016", new CultureInfo("en-IN")), "SalerName7", "y", "Title7", "4444444444", "30");
this.rpt.DataSource = dt;
this.rpt.DataBind();
}
}
Screenshot
