private void Page_Load(object sender, System.EventArgs e)
{
String prefix = PathPrefix;
NoteHeader_PNL.BackImageUrl = prefix + "/images/completeNoteHeader.gif";
Background.Attributes.Add("BackGround", prefix + "/images/background.gif");
//RowHeaderBar.Attributes.Add("RowHeaderBar", prefix + "/images/barForNotes.gif");
String defaultMode = JobAdder.DefaultNoteAdd;
if (defaultMode == "normalNoteAdd")
{
JobAdderForTheNoteScreen_PNL.Style.Add( "display", "none" );
}
if (defaultMode == "editForDefault")
{
JobAdderForTheNoteScreen_PNL.Style.Add( "display", "none" );
//JobAdderForTheNoteScreen_PNL.Visible = false;
NoteHeader_PNL.Visible = true;
JobAdder.DefaultNoteAdd = null;
}
if (JobAdder.Calendar_Checked_Status == true)
{
NoteList_LST.Visible = false;
Calendar_On_Notescreen_PNL.Visible = true;
}
if (JobAdder.Calendar_Checked_Status == false)
{
NoteList_LST.Visible = true;
Calendar_On_Notescreen_PNL.Visible = false;
}
if (IsPostBack)
{
}
else
{
//Its a regular select existing job
roleid = links.RoleID;
if (roleid == 1)
{
viewMode = JobViewerForAdmin.JobViewMode;
if (viewMode == "view")
{
DisplayNotes();
JobViewerForAdmin.JobViewMode = "";
}
}
else
{
viewMode = JobWithNoteViewer.JobViewMode;
if (viewMode == "view")
{
DisplayNotes();
JobWithNoteViewer.JobViewMode = "";
}
}
}
// First time around, lets populate the list boxes.
if (!IsPostBack)
{
PopulateActionsDropDown();
}
// Otherwise its a basic job add
else
{
}
}
Heres my bind function
private void BindNotes()
{
roleid = links.RoleID;
if (roleid == 1)
{
userID = links.UserID;//JobViewerForAdmin.UsrID;
jobID = (int)Session["JobID_By_Session"];
//jobID = JobViewerForAdmin.JobID;
if (jobID == 0) // I put these in here for the add new job section
{ // that needs to return an update view
//jobID = (int)ViewState["jobID"];
jobID = (int)Session["JobID_By_Session"];//JobSystem.JobIDforDefault;
//JobViewerForAdmin.JobID = 0;//xyz
}
}
else
{
userID = links.UserID;
jobID = (int)Session["JobID_By_Session"];//JobWithNoteViewer.JobID;
if (jobID == 0)
{
jobID = (int)Session["JobID_By_Session"];//JobSystem.JobIDforDefault;
//JobWithNoteViewer.JobID = 0;//xyz
}
}
noteSystem = new NoteSystem();
noteData = noteSystem.GetNotesByUserAndJobID(userID,jobID);
// Lets get the note id's and save them in our array for later
DataTable noteTable = noteData.Tables[NotesData.NOTES_TABLE];
if (NotesData.FlagUpdateNote != true)
{
noteIDList.Clear();
foreach (DataRow noteID in noteTable.Rows)
{
int noteid = Int32.Parse(noteID[NotesData.NOTES_ID_FIELD].ToString());
noteIDList.Add(noteid);
IEnumerator E = arraylist.GetEnumerator();
E.MoveNext();
}
}
noteView = noteData.Tables[NotesData.NOTES_TABLE].DefaultView;
NoteList_LST.DataSource = noteView;
NoteList_LST.DataBind();
}
heres my ItemDataBound event
private void NoteList_LST_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
{
String readStatus;
String bywho;
//int userID = links.UserID;
String tmpUserID = userID.ToString();
ListItemType lit = e.Item.ItemType;
if (lit == ListItemType.Item || lit == ListItemType.AlternatingItem)
{
readStatus = Convert.ToString(DataBinder.Eval(e.Item.DataItem, NotesData.NOTE_READ_FIELD));
Button button = e.Item.FindControl("Read_Note_BTN") as Button;
String Action;
Action = Convert.ToString(DataBinder.Eval(e.Item.DataItem, NotesData.FK_ACTION_PERFORMED_FIELD));
Button edit = e.Item.FindControl("Edit_Note_BTN") as Button;
Label label = e.Item.FindControl("Total_Label") as Label;
HtmlTableCell header = e.Item.FindControl("RowHeaderBar") as HtmlTableCell;
HtmlTableCell header_for_system = e.Item.FindControl("RowHeaderBar_For_System") as HtmlTableCell;
HtmlTableCell header_for_unread = e.Item.FindControl("RowHeaderBar_For_UnRead") as HtmlTableCell;
header.Visible = false;
header_for_system.Visible = false;
header_for_unread.Visible = false;
bywho = Convert.ToString(DataBinder.Eval(e.Item.DataItem, NotesData.FK_USERID_FIELD));
if(bywho == tmpUserID) // The user that logged on created the note
{
if(Action != "null") // Read notes with read button removed
{
header.Visible = true; // blue bar VISIBLE
header_for_system.Visible = false; // grey bar INVISIBLE
button.Visible = false; // They don't need to have read button
edit.Visible = true; // This person can edit their own note
header_for_unread.Visible = false; // because they created it.
if (Action == "Comment")
{
label.Visible = false;
}
}
if(Action == "null") // System notes with read button removed
{
e.Item.BackColor = System.Drawing.Color.LightGray;
button.Visible = false;
edit.Visible = false;
label.Visible = false;
header.Visible = false;
header_for_system.Visible = true;
header_for_unread.Visible = false;
}
}
else // This user is receiving notes that someone else created
{
if(Action != "null" && readStatus != "Read") // Notes that are unread
{
e.Item.BackColor = System.Drawing.Color.IndianRed;
header.Visible = false; // blue bar VISIBLE
header_for_system.Visible = false; // grey bar INVISIBLE
button.Visible = true;
edit.Visible = false; // This person can't edit this note
header_for_unread.Visible = true; // because they didn't create it
if (Action == "Comment") // This removes totals for comments
{ // A comment is the only category
label.Visible = false; // without a total
}
}
if(Action != "null" && readStatus == "Read" ) // Read notes with read button removed
{
header.Visible = true; // blue bar VISIBLE
header_for_system.Visible = false; // grey bar INVISIBLE
button.Visible = false;
edit.Visible = false; // This person can't edit this note
header_for_unread.Visible = false; // because they didn't create it
if (Action == "Comment") // This removes totals for comments
{ // A comment is the only category
label.Visible = false; // without a total
}
}
if(Action == "null" && readStatus != "Read") // System Notes that are unread
{
e.Item.BackColor = System.Drawing.Color.IndianRed;
button.Visible = true;
edit.Visible = false; // Can't edit system notes
label.Visible = false;
header.Visible = false;
header_for_system.Visible = true;
header_for_unread.Visible = false;
//RowHeaderBar_For_System.Visible = false;
}
if(Action == "null" && readStatus == "Read") // System notes with read button removed
{
e.Item.BackColor = System.Drawing.Color.LightGray;
button.Visible = false;
edit.Visible = false; // Can't edit system notes
label.Visible = false;
header.Visible = false;
header_for_system.Visible = true;
header_for_unread.Visible = false;
}
}
}
}