Hi pir,
There is no concept of viewing empty data. You can assign 0 so that it will display as 12:00:00 AM
HTML
<div>
<asp:ScriptManager runat="server" />
<asp:GridView runat="server" ID="GridView1" OnRowDataBound="DataBound" AutoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="Id" HeaderText="Id" />
<asp:BoundField DataField="Name" HeaderText="Name" />
<asp:TemplateField HeaderText="Time">
<ItemTemplate>
<asp:HiddenField ID="hfTime" runat="server" Value='<%#Eval("COME_OUT") %>' />
<cc1:TimeSelector ID="tsTime" runat="server">
</cc1:TimeSelector>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
C#
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[3] { new DataColumn("Id", typeof(int)), new DataColumn("Name"), new DataColumn("COME_OUT") });
dt.Rows.Add(1, "John Hammond", "12:35 PM");
dt.Rows.Add(2, "Mudassar Khan", "12:35 AM");
dt.Rows.Add(3, "Suzanne Mathews", "");
dt.Rows.Add(4, "Robert Schidner", "08:35 PM");
GridView1.DataSource = dt;
GridView1.DataBind();
}
}
protected void DataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
string hfTime = (e.Row.Cells[2].FindControl("hfTime") as HiddenField).Value;
MKB.TimePicker.TimeSelector tsTime = e.Row.FindControl("tsTime") as MKB.TimePicker.TimeSelector;
MKB.TimePicker.TimeSelector.AmPmSpec am_pm;
if (hfTime == "")
{
tsTime.SetTime(0, 0, 0);
}
else
{
DateTime dt = DateTime.Parse(hfTime);
if (dt.ToString("tt") == "AM")
{
am_pm = MKB.TimePicker.TimeSelector.AmPmSpec.AM;
}
else
{
am_pm = MKB.TimePicker.TimeSelector.AmPmSpec.PM;
}
tsTime.SetTime(dt.Hour, dt.Minute, am_pm);
}
}
}
VB.Net
Protected Sub Page_Load(sender As Object, e As EventArgs)
If Not Me.IsPostBack Then
Dim dt As New DataTable()
dt.Columns.AddRange(New DataColumn(2) {New DataColumn("Id", GetType(Integer)), New DataColumn("Name"), New DataColumn("COME_OUT")})
dt.Rows.Add(1, "John Hammond", "12:35 PM")
dt.Rows.Add(2, "Mudassar Khan", "12:35 AM")
dt.Rows.Add(3, "Suzanne Mathews", "")
dt.Rows.Add(4, "Robert Schidner", "08:35 PM")
GridView1.DataSource = dt
GridView1.DataBind()
End If
End Sub
Protected Sub DataBound(sender As Object, e As GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.DataRow Then
Dim hfTime As String = TryCast(e.Row.Cells(2).FindControl("hfTime"), HiddenField).Value
Dim tsTime As MKB.TimePicker.TimeSelector = TryCast(e.Row.FindControl("tsTime"), MKB.TimePicker.TimeSelector)
Dim am_pm As MKB.TimePicker.TimeSelector.AmPmSpec
If hfTime = "" Then
tsTime.SetTime(0, 0, 0)
Else
Dim dt As DateTime = DateTime.Parse(hfTime)
If dt.ToString("tt") = "AM" Then
am_pm = MKB.TimePicker.TimeSelector.AmPmSpec.AM
Else
am_pm = MKB.TimePicker.TimeSelector.AmPmSpec.PM
End If
tsTime.SetTime(dt.Hour, dt.Minute, am_pm)
End If
End If
End Sub
Screenshot
Id | Name | Time |
1 |
John Hammond |
|
2 |
Mudassar Khan |
|
3 |
Suzanne Mathews |
|
4 |
Robert Schidner |
|