Solved

Aligning a dynamically created web label control beside a dynamic checkboxlist

Posted on 2008-06-24
15
769 Views
Last Modified: 2013-11-26
I am using VS 2003. I have a web page in ASP.NET which includes a label. This label is created using HTML. This label is called tierContainer. It is used to hold dynamically created labels and checkboxes. The dynamic controls are created in C# in a dll. The labels are to proceed each checkbox list. These controls are dynamic because the number created is based on how many items are selected in a listbox. So if there are 2 items selected in a listbox, there will be 2 labels and 2 checkbox lists inside of the tierContainer. I have been successful in making that work properly. The problem I am having is aligning the labels in front and on the same row of the checkbox list. For some reason, the label in on the line preceding the checkbox list.
private void FillTierContainerWithCheckLists(DataTable lTierAndIptInfo)
		{
	//***loop through the tiers based on the IPTs 
	foreach (ListItem itemIPT in this.iptID.Items)
			{  
				//***only display the tier for the IPTs (teams) that are selected.
				if (itemIPT.Selected)
				{
					CheckBoxList lTierList = new CheckBoxList();
					System.Web.UI.WebControls.Label lTierLabel = new System.Web.UI.WebControls.Label();
 
DataRow[] lRowsFound = lTierAndIptInfo.Select("iptid = " + itemIPT.Value);
lTierList.RepeatDirection = RepeatDirection.Horizontal;
lTierList.ID = "riskManTier_" + itemIPT.Value;
lTierLabel.ID = "tierLabel_ " + itemIPT.Value;
					
//***filter the tiers based on the IPT we are currently looking at while looping
//***through the IPT control. This will help us know when to break to the next
	//***tier row
lTierLabel.Text = lRowsFound[0]["abbrev"].ToString(); 
//***display IPT abbrev. in front of each IPT tier
 
tierContainer.Controls.Add(lTierLabel);
 
	for(int i = 0; i < lRowsFound.Length; i++)
	{   //OUndeterminedRiskBox = string.Format("<span val=0 onMouseOver=\"ddrivetip('{0}',{1},'eee')\" onMouseOut=\"hideddrivetip()\" class=riskUndetermined>" + lCurrentRisk + "</span>", lUndefRiskDef, sDefineWidth);
						lTierList.Items.Add(new ListItem("<span onMouseOver=\"ddrivetip('" + lRowsFound[i]["managementoversightdefinition"].ToString() + "')\" onMouseOut=\"hideddrivetip()\" >" + lRowsFound[i]["tiervalue"].ToString() + "</span>", lRowsFound[i]["tierid"].ToString()));
	//***check the item...all items are initially checked
	lTierList.Items[i].Selected = false;
		}
 
 
	//***make checkbox list appear to the right of the label
		tierContainer.Controls.Add(lTierList);
				}
			}
		}

Open in new window

0
Comment
Question by:lmred
  • 9
  • 6
15 Comments
 
LVL 8

Expert Comment

by:MrAgile
ID: 21861411
Hi There,

Can you please post a screen shot for me and the generated html output from the page. I may be able to help you with this.

Sean
0
 
LVL 1

Author Comment

by:lmred
ID: 21864903
Due to the fact this code is for the government, I only posted the code and part of the page that relates to the checkbox list. I hope it helps.

Lmred
<tr id="trManTier">
				<TD><B>Management Tier</B></TD>
				<TD>
					<table id="tier" cellspacing="0" cellpadding="0" border="0" style="border-collapse:collapse;">
 
				</table>
					<span id="tierContainer"><span id="tierLabel_ 1">53K</span><table id="riskManTier_1" border="0">
					<tr>
						<td><input id="riskManTier_1_0" type="checkbox" name="riskManTier_1:0" /><label for="riskManTier_1_0"><span onMouseOver="ddrivetip('Unassigned')" onMouseOut="hideddrivetip()" >0</span></label></td><td><input id="riskManTier_1_1" type="checkbox" name="riskManTier_1:1" /><label for="riskManTier_1_1"><span onMouseOver="ddrivetip('Visibility to Milestone Decision Authority (MDA), Chief of Naval Operations (CNO). Briefed at JRMB meetings.')" onMouseOut="hideddrivetip()" >1</span></label></td><td><input id="riskManTier_1_2" type="checkbox" name="riskManTier_1:2" /><label for="riskManTier_1_2"><span onMouseOver="ddrivetip('Visibility to PEO, PM.  CH-53K Program Level risk, to be briefed outside the program by the highest level program management team.  Impacts KPPs or causes major impact to program resource/schedule requirements.  Briefed at major program reviews (including CIPT, APW, N-88) and as required by CH-53K PM.  Briefed at JRMB meetings.')" onMouseOut="hideddrivetip()" >2</span></label></td><td><input id="riskManTier_1_3" type="checkbox" name="riskManTier_1:3" /><label for="riskManTier_1_3"><span onMouseOver="ddrivetip('Visibility to PEO, PM.  CH-53K Program Level risk specifically related to contractual issues/contract execution.  Impacts KPPs or causes major impact to program resource/schedule requirements.  Briefed at program reviews and as required CH-53K PM.  Briefed at JRMB meetings.')" onMouseOut="hideddrivetip()" >2a</span></label></td><td><input id="riskManTier_1_4" type="checkbox" name="riskManTier_1:4" /><label for="riskManTier_1_4"><span onMouseOver="ddrivetip('Major technical/cost/schedule risk.  Can impact the program; mitigation within program constraints is probable.  Briefed at JRMB meetings.')" onMouseOut="hideddrivetip()" >3</span></label></td><td><input id="riskManTier_1_5" type="checkbox" name="riskManTier_1:5" /><label for="riskManTier_1_5"><span onMouseOver="ddrivetip('Team Risks at segment level with potential schedule/cost impacts.  Briefed to Level 2 at IPT meetings.')" onMouseOut="hideddrivetip()" >4</span></label></td><td><input id="riskManTier_1_6" type="checkbox" name="riskManTier_1:6" /><label for="riskManTier_1_6"><span onMouseOver="ddrivetip('Risk at sub-segment level with lesser schedule/cost impacts.  Briefed to Level 2 at IPT meetings.')" onMouseOut="hideddrivetip()" >5</span></label></td><td><input id="riskManTier_1_7" type="checkbox" name="riskManTier_1:7" /><label for="riskManTier_1_7"><span onMouseOver="ddrivetip('Risks involving sub-contractors that are entered at Tier 6 and monitored.  May be elevated through the Tiers if they deemed closer to realization or are of sufficient impact.  Briefed to Level 2 at IPT meetings.')" onMouseOut="hideddrivetip()" >6</span></label></td>
					</tr>
				</table><span id="tierLabel_ 2">ISV</span><table id="riskManTier_2" border="0">
					<tr>
						<td><input id="riskManTier_2_0" type="checkbox" name="riskManTier_2:0" /><label for="riskManTier_2_0"><span onMouseOver="ddrivetip('Unassigned')" onMouseOut="hideddrivetip()" >0</span></label></td><td><input id="riskManTier_2_1" type="checkbox" name="riskManTier_2:1" /><label for="riskManTier_2_1"><span onMouseOver="ddrivetip('Visibility to Milestone Decision Authority (MDA), Chief of Naval Operations (CNO)')" onMouseOut="hideddrivetip()" >1</span></label></td><td><input id="riskManTier_2_2" type="checkbox" name="riskManTier_2:2" /><label for="riskManTier_2_2"><span onMouseOver="ddrivetip('Visibility to PEO, PM.  Program Level risk, to be briefed outside the program by the highest level program management team.  Impacts KPPs or causes major impact to program resource/schedule requirements.  Briefed at major program reviews and as required by the PM.')" onMouseOut="hideddrivetip()" >2</span></label></td><td><input id="riskManTier_2_3" type="checkbox" name="riskManTier_2:3" /><label for="riskManTier_2_3"><span onMouseOver="ddrivetip('Visibility to PEO, PM.  Program Level risk specifically related to contractual issues/contract execution.  Impacts KPPs or causes major impact to program resources/schedule requirements.  Briefed at program reviews and as required by the PM.')" onMouseOut="hideddrivetip()" >2a</span></label></td><td><input id="riskManTier_2_4" type="checkbox" name="riskManTier_2:4" /><label for="riskManTier_2_4"><span onMouseOver="ddrivetip('Major technical/cost/schedule risk.  Can impact the program; mitigation within program constraints is probable.')" onMouseOut="hideddrivetip()" >3</span></label></td><td><input id="riskManTier_2_5" type="checkbox" name="riskManTier_2:5" /><label for="riskManTier_2_5"><span onMouseOver="ddrivetip('Team Risks with potential schedule/cost impacts.')" onMouseOut="hideddrivetip()" >4</span></label></td>
					</tr>
				</table><span id="tierLabel_ 4">WEB</span><table id="riskManTier_4" border="0">
					<tr>
						<td><input id="riskManTier_4_0" type="checkbox" name="riskManTier_4:0" /><label for="riskManTier_4_0"><span onMouseOver="ddrivetip('Unassigned')" onMouseOut="hideddrivetip()" >0</span></label></td><td><input id="riskManTier_4_1" type="checkbox" name="riskManTier_4:1" /><label for="riskManTier_4_1"><span onMouseOver="ddrivetip('Test1')" onMouseOut="hideddrivetip()" >1</span></label></td><td><input id="riskManTier_4_2" type="checkbox" name="riskManTier_4:2" /><label for="riskManTier_4_2"><span onMouseOver="ddrivetip('Test2')" onMouseOut="hideddrivetip()" >2</span></label></td><td><input id="riskManTier_4_3" type="checkbox" name="riskManTier_4:3" /><label for="riskManTier_4_3"><span onMouseOver="ddrivetip('Test2a')" onMouseOut="hideddrivetip()" >2a</span></label></td><td><input id="riskManTier_4_4" type="checkbox" name="riskManTier_4:4" /><label for="riskManTier_4_4"><span onMouseOver="ddrivetip('Test3')" onMouseOut="hideddrivetip()" >3</span></label></td><td><input id="riskManTier_4_5" type="checkbox" name="riskManTier_4:5" /><label for="riskManTier_4_5"><span onMouseOver="ddrivetip('Test4')" onMouseOut="hideddrivetip()" >4</span></label></td><td><input id="riskManTier_4_6" type="checkbox" name="riskManTier_4:6" /><label for="riskManTier_4_6"><span onMouseOver="ddrivetip('Test5')" onMouseOut="hideddrivetip()" >5</span></label></td><td><input id="riskManTier_4_7" type="checkbox" name="riskManTier_4:7" /><label for="riskManTier_4_7"><span onMouseOver="ddrivetip('Test6')" onMouseOut="hideddrivetip()" >6</span></label></td>
					</tr>
				</table></span>
				</TD>
			</tr>

Open in new window

Checkbox-Lists.JPG
0
 
LVL 8

Accepted Solution

by:
MrAgile earned 200 total points
ID: 21870923
Hi There,

So I have just given you a snippet of code that aligns the text to the left of the checkbox. You will obviously need to add the headings for each row which i'm sure you will be able to do without much trouble.

Let me know if you need anything else.

Sean
<asp:Table id="Table1" 
        GridLines="Both" 
        HorizontalAlign="Center" 
        Font-Names="Verdana" 
        Font-Size="8pt" 
        CellPadding="15" 
        CellSpacing="0" 
        Runat="server"/>
 
!---------------------------
 
 private void TestTheRender()
        {
            byte _IsOddEven = 0;
            int numrows = 2;
            int numcells = 8;
           
            for (int j = 0; j < numrows; j++)
            {
                TableRow r = new TableRow();
                for (int i = 1; i < numcells +1; i++)
                {
                    _IsOddEven = byte.Parse((((int)i % 2) == 0) ? "0" : "1");
                    TableCell c = new TableCell();
                    CheckBox ckTest = new CheckBox();
                    if (_IsOddEven == 0)
                    {
                        c.Controls.Add(ckTest);
                    }
                    else if (_IsOddEven == 1)
                    {  
                        c.Controls.Add(new LiteralControl("row"));
                    }
                    r.Cells.Add(c);
                }
                Table1.Rows.Add(r);
            }
 
        }

Open in new window

0
Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

 
LVL 1

Author Comment

by:lmred
ID: 21874143
Sean, you are using a checkbox control and I am using a checkbox list. Can you please  take the code that you have and help me figure out how to implement it in the code I have above? I'm having a hard time making it work with the code I have.
0
 
LVL 8

Expert Comment

by:MrAgile
ID: 21880819
ok my mistake. I have some css code below that makes the checbox set to the right of the text. It has not been tested though.

1. put the code into your page for testing purposes
2. channge the cssclass property on the checckbox list to equal myclass
3. test the code and see if it works.

You may need to play around with this but it should work.

Sean
    <style type="text/css">
   table {
	font: 11px/24px Verdana, Arial, Helvetica, sans-serif;
	border-collapse: collapse;
	width: 320px;
	}
 
th {
	padding: 0 0.5em;
	text-align: left;
	}
 
tr.yellow td {
	border-top: 1px solid #FB7A31;
	border-bottom: 1px solid #FB7A31;
	background: #FFC;
	}
 
td {
	border-bottom: 1px solid #CCC;
	padding: 0 0.5em;
	background:blue;
	}
input
{
float:right;	
}
    </style>

Open in new window

0
 
LVL 1

Author Comment

by:lmred
ID: 21902348
I will try this out.
0
 
LVL 1

Author Comment

by:lmred
ID: 21907630
I am having trouble making this work. Your solution is using tables where as I have a textbox which holds the checklists. I would have to do a major rewrite in order to implement the tables instead of the textbox container. Is there a way to implement this using my current code...the container textbox that holds the label and checklist controls?
0
 
LVL 8

Expert Comment

by:MrAgile
ID: 21912253
You must understand that without a working page to test this it's almost impossible for me to see the end result. The float property applied to text on your container will work.

This is what I propose for you to do.

1. download firefox
2. install the addon firebug
3. go to the css tab in firebug and then you are able to adjust the css inline on the page as you are looking at it.

Now I think that the float property will get you out of trouble but you may also have to apply positioning as well.

There is a great resource for that here www.devguru.com and you can find indexes for all property elements.

Good luck
0
 
LVL 1

Author Comment

by:lmred
ID: 21916201
I'm here playing with Firebug. This is neat. I have found that for some reason the checkboxlist is included in a table and the labels I created are not. I did not create these tables. They are automatically generated. I think that is what's causing the labels to appear separately.
<tr id="trManTier">
				<TD><B>Management Tier</B></TD>
				<TD>
					<table id="tier" cellspacing="0" cellpadding="0" border="0">
 
				</table>
 
					<span id="tierContainer"><label for="riskManTier_1" id="tierLabel_ 1">53K</label><table id="riskManTier_1" class="Lisa" border="0">
					<tr>
						<td><input id="riskManTier_1_0" type="checkbox" name="riskManTier_1:0" checked="checked" /><label for="riskManTier_1_0"><span onMouseOver="ddrivetip('Unassigned')" onMouseOut="hideddrivetip()" >0</span></label></td><td><input id="riskManTier_1_1" type="checkbox" name="riskManTier_1:1" /><label for="riskManTier_1_1"><span onMouseOver="ddrivetip('Visibility to Milestone Decision Authority (MDA), Chief of Naval Operations (CNO). Briefed at JRMB meetings.')" onMouseOut="hideddrivetip()" >1</span></label></td><td><input id="riskManTier_1_2" type="checkbox" name="riskManTier_1:2" /><label for="riskManTier_1_2"><span onMouseOver="ddrivetip('Visibility to PEO, PM.  CH-53K Program Level risk, to be briefed outside the program by the highest level program management team.  Impacts KPPs or causes major impact to program resource/schedule requirements.  Briefed at major program reviews (including CIPT, APW, N-88) and as required by CH-53K PM.  Briefed at JRMB meetings.')" onMouseOut="hideddrivetip()" >2</span></label></td><td><input id="riskManTier_1_3" type="checkbox" name="riskManTier_1:3" checked="checked" /><label for="riskManTier_1_3"><span onMouseOver="ddrivetip('Visibility to PEO, PM.  CH-53K Program Level risk specifically related to contractual issues/contract execution.  Impacts KPPs or causes major impact to program resource/schedule requirements.  Briefed at program reviews and as required CH-53K PM.  Briefed at JRMB meetings.')" onMouseOut="hideddrivetip()" >2a</span></label></td><td><input id="riskManTier_1_4" type="checkbox" name="riskManTier_1:4" /><label for="riskManTier_1_4"><span onMouseOver="ddrivetip('Major technical/cost/schedule risk.  Can impact the program; mitigation within program constraints is probable.  Briefed at JRMB meetings.')" onMouseOut="hideddrivetip()" >3</span></label></td><td><input id="riskManTier_1_5" type="checkbox" name="riskManTier_1:5" /><label for="riskManTier_1_5"><span onMouseOver="ddrivetip('Team Risks at segment level with potential schedule/cost impacts.  Briefed to Level 2 at IPT meetings.')" onMouseOut="hideddrivetip()" >4</span></label></td><td><input id="riskManTier_1_6" type="checkbox" name="riskManTier_1:6" /><label for="riskManTier_1_6"><span onMouseOver="ddrivetip('Risk at sub-segment level with lesser schedule/cost impacts.  Briefed to Level 2 at IPT meetings.')" onMouseOut="hideddrivetip()" >5</span></label></td><td><input id="riskManTier_1_7" type="checkbox" name="riskManTier_1:7" /><label for="riskManTier_1_7"><span onMouseOver="ddrivetip('Risks involving sub-contractors that are entered at Tier 6 and monitored.  May be elevated through the Tiers if they deemed closer to realization or are of sufficient impact.  Briefed to Level 2 at IPT meetings.')" onMouseOut="hideddrivetip()" >6</span></label></td>
					</tr>
 
				</table><label for="riskManTier_2" id="tierLabel_ 2">ISV</label><table id="riskManTier_2" class="Lisa" border="0">
					<tr>
						<td><input id="riskManTier_2_0" type="checkbox" name="riskManTier_2:0" /><label for="riskManTier_2_0"><span onMouseOver="ddrivetip('Unassigned')" onMouseOut="hideddrivetip()" >0</span></label></td><td><input id="riskManTier_2_1" type="checkbox" name="riskManTier_2:1" /><label for="riskManTier_2_1"><span onMouseOver="ddrivetip('Visibility to Milestone Decision Authority (MDA), Chief of Naval Operations (CNO)')" onMouseOut="hideddrivetip()" >1</span></label></td><td><input id="riskManTier_2_2" type="checkbox" name="riskManTier_2:2" /><label for="riskManTier_2_2"><span onMouseOver="ddrivetip('Visibility to PEO, PM.  Program Level risk, to be briefed outside the program by the highest level program management team.  Impacts KPPs or causes major impact to program resource/schedule requirements.  Briefed at major program reviews and as required by the PM.')" onMouseOut="hideddrivetip()" >2</span></label></td><td><input id="riskManTier_2_3" type="checkbox" name="riskManTier_2:3" checked="checked" /><label for="riskManTier_2_3"><span onMouseOver="ddrivetip('Visibility to PEO, PM.  Program Level risk specifically related to contractual issues/contract execution.  Impacts KPPs or causes major impact to program resources/schedule requirements.  Briefed at program reviews and as required by the PM.')" onMouseOut="hideddrivetip()" >2a</span></label></td><td><input id="riskManTier_2_4" type="checkbox" name="riskManTier_2:4" /><label for="riskManTier_2_4"><span onMouseOver="ddrivetip('Major technical/cost/schedule risk.  Can impact the program; mitigation within program constraints is probable.')" onMouseOut="hideddrivetip()" >3</span></label></td><td><input id="riskManTier_2_5" type="checkbox" name="riskManTier_2:5" /><label for="riskManTier_2_5"><span onMouseOver="ddrivetip('Team Risks with potential schedule/cost impacts.')" onMouseOut="hideddrivetip()" >4</span></label></td>
					</tr>
				</table><label for="riskManTier_4" id="tierLabel_ 4">WEB</label><table id="riskManTier_4" class="Lisa" border="0">
 
					<tr>
						<td><input id="riskManTier_4_0" type="checkbox" name="riskManTier_4:0" /><label for="riskManTier_4_0"><span onMouseOver="ddrivetip('Unassigned')" onMouseOut="hideddrivetip()" >0</span></label></td><td><input id="riskManTier_4_1" type="checkbox" name="riskManTier_4:1" checked="checked" /><label for="riskManTier_4_1"><span onMouseOver="ddrivetip('Test1')" onMouseOut="hideddrivetip()" >1</span></label></td><td><input id="riskManTier_4_2" type="checkbox" name="riskManTier_4:2" checked="checked" /><label for="riskManTier_4_2"><span onMouseOver="ddrivetip('Test2')" onMouseOut="hideddrivetip()" >2</span></label></td><td><input id="riskManTier_4_3" type="checkbox" name="riskManTier_4:3" checked="checked" /><label for="riskManTier_4_3"><span onMouseOver="ddrivetip('Test2a')" onMouseOut="hideddrivetip()" >2a</span></label></td><td><input id="riskManTier_4_4" type="checkbox" name="riskManTier_4:4" checked="checked" /><label for="riskManTier_4_4"><span onMouseOver="ddrivetip('Test3')" onMouseOut="hideddrivetip()" >3</span></label></td><td><input id="riskManTier_4_5" type="checkbox" name="riskManTier_4:5" checked="checked" /><label for="riskManTier_4_5"><span onMouseOver="ddrivetip('Test4')" onMouseOut="hideddrivetip()" >4</span></label></td><td><input id="riskManTier_4_6" type="checkbox" name="riskManTier_4:6" checked="checked" /><label for="riskManTier_4_6"><span onMouseOver="ddrivetip('Test5')" onMouseOut="hideddrivetip()" >5</span></label></td><td><input id="riskManTier_4_7" type="checkbox" name="riskManTier_4:7" checked="checked" /><label for="riskManTier_4_7"><span onMouseOver="ddrivetip('Test6')" onMouseOut="hideddrivetip()" >6</span></label></td>
					</tr>
				</table></span>
				</TD>
 
			</tr>

Open in new window

0
 
LVL 8

Expert Comment

by:MrAgile
ID: 21921509
So do you need my help any longer?
0
 
LVL 1

Author Comment

by:lmred
ID: 21925043
I feel really stupid cause I just can't get it to work. When I do a float right, all of my labels are still on the line above the checkboxes and they are jammed all together into one word. The checkboxlist is all aligned right, but now they are out of order and again still on the line below the labels. I am still stuck. I don't know how to do this without rewriting all my code. I seen somewhere about using the label's .associatedcontrolid. But I couldn't get that to work. I guess because I am adding the label control and checkboxlist control separately to the label container. Why does this have to be so hard?
0
 
LVL 1

Author Comment

by:lmred
ID: 21927903
Well, believe it or not I finally got the label to align on the same line as the checkbox. I created a table in the code behind and simply put the label in one cell and the checkbox list in another cell. You had the idea with your TestTheRender function but I didn't have to deal with the parsing or odd/even stuff. I didn't have to deal with any formating for the table or stylesheets either. However my results from the query isn't coming back now. I guess I have some code somewhere else I need changed. That was why I didn't want to have to deal with a table. I knew it would break my code.

Now I have to figure out which answer to accept as a solution. Any ideas? And thanks again for everything. You were the only one who helped.
0
 
LVL 8

Expert Comment

by:MrAgile
ID: 21929934
Hi There,

glad that you sorted it. I will leave the decision about which question to put as the accepted answer up to you.

Sean
0
 
LVL 1

Author Comment

by:lmred
ID: 21954127
Sean,

I just got my query to work now. Everything is working perfectly. It was tough. I chalk it up to a learning experience. I wasn't used to getting controls from a table. The reason I wasn't getting results from my query after making the change was because you have to drill down to the cell level to get the control. Just trying to do a findcontrol from the table gives you the rows. Thanks so much!

Lisa
0
 
LVL 1

Author Closing Comment

by:lmred
ID: 31470112
The solution that was needed was to create a table which was the initial suggestion. However, the extra code to format, parse and checking for odd/even wasn't necessary. The basic idea was correct.
0

Featured Post

DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

ASP.Net to Oracle Connectivity Recently I had to develop an ASP.NET application connecting to an Oracle database.As I am doing it first time ,I had to solve several problems. This article will help to such developers  to develop an ASP.NET client…
IntroductionWhile developing web applications, a single page might contain many regions and each region might contain many number of controls with the capability to perform  postback. Many times you might need to perform some action on an ASP.NET po…
This Micro Tutorial hows how you can integrate  Mac OSX to a Windows Active Directory Domain. Apple has made it easy to allow users to bind their macs to a windows domain with relative ease. The following video show how to bind OSX Mavericks to …
Email security requires an ever evolving service that stays up to date with counter-evolving threats. The Email Laundry perform Research and Development to ensure their email security service evolves faster than cyber criminals. We apply our Threat…

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question