Hi dharmendr sir,
I have dynamic form in which I have a button through which I have to note different activity time. When I click on button every button give me current time. But I want that it should be editable.
https://youtu.be/4wyA7HDhIOA
like in this video it give time that should be editable in any time. I want same functionality on my every button. When user click on button time popup window appear and user can adjust time accordingly.
Can u help me please for doing this functionality in c#
My code is here.
Please sir help me.
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TimeTrackerpage.aspx.cs" Inherits="AirportOppsTimeTracker.TimeTrackerpage" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="lblUserId" runat="server" />
<asp:Label ID="lblSession" runat="server" />
<div class="container">
<div class="panel panel-primary">
<div class="panel-heading">Airport Operations Tracking System</div>
<div class="panel-body"><asp:Panel runat="server" ID="pnlDynamic"></asp:Panel></div>
</div>
</div>
</div>
</form>
</body>
</html>
namespace AirportOppsTimeTracker
{
public partial class TimeTrackerpage : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();
string conString = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
string query = @"SELECT * FROM [Events]";
query += "ORDER BY ";
query += "CASE WHEN property = 'TextBox' THEN 0 ";
query += "WHEN property = 'Button' THEN 1 ";
query += "END";
using (SqlConnection con = new SqlConnection(conString))
{
using (SqlCommand cmd = new SqlCommand(query, con))
{
using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
{
sda.Fill(dt);
}
}
}
DataRow[] textBoxes = dt.Select("Property='TextBox'");
DataRow[] buttons = dt.Select("Property='Button'");
Table table = new Table();
TableRow tr = new TableRow();
for (int i = 0; i < textBoxes.Length; i++)
{
TableCell cell = new TableCell();
Label lbl = new Label();
lbl.Text = textBoxes[i]["name"].ToString();
cell.Controls.Add(lbl);
Literal lt = new Literal();
lt.Text = "<br /><br />";
cell.Controls.Add(lt);
TextBox txt = new TextBox();
txt.ID = "txt" + textBoxes[i]["name"].ToString();
cell.Controls.Add(txt);
tr.Cells.Add(cell);
}
table.Rows.Add(tr);
tr = new TableRow();
for (int i = 0; i < buttons.Length; i++)
{
TableCell cell = new TableCell();
Label lbl = new Label();
lbl.Text = buttons[i]["name"].ToString();
cell.Controls.Add(lbl);
Literal lt = new Literal();
lt.Text = "<br /><br />";
cell.Controls.Add(lt);
Button btn = new Button();
btn.Text = "Time";
btn.ID = "btn" + buttons[i]["name"].ToString();
btn.BackColor = Color.Green;
btn.Click += new EventHandler(this.OnSubmit);
cell.Controls.Add(btn);
lt = new Literal();
lt.Text = "<br /><br />";
cell.Controls.Add(lt);
Label lblTime = new Label();
lblTime.ID = "lbl" + buttons[i]["name"].ToString();
cell.Controls.Add(lblTime);
tr.Cells.Add(cell);
}
table.Rows.Add(tr);
pnlDynamic.Controls.Add(table);
}
protected void OnSubmit(object sender, EventArgs e)
{
string btnId = (sender as Button).ID;
string lblId = (sender as Button).ID.Replace("btn", "lbl");
(sender as Button).Enabled = false;
(pnlDynamic.FindControl(btnId) as Button).BackColor = Color.Gray;
(pnlDynamic.FindControl(lblId) as Label).Text = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss");
}
}
}