views:

26

answers:

1

hello all, i have a dynamic table that creates a div (new panel) for every TD and i want to give this div a class...

Can i add with Attributes.Add or with cssClass a class to the panel?

I am asking becouse i tried with both and got the same resault.... browser crash!!!

Every other attribute works great, and i just don't understand why....

 Panel div = new Panel();
 div.ID = "div" + "_" + i.ToString() + "_" + j.ToString();
 div.Height = _CellHeight;
 div.Width = _CellWidth;

. . .

div.CssClass = "droppable";
td.Controls.Add(div);

trying to add the all code:

<link href="Styles/Kanpai.css" rel="stylesheet" type="text/css" />
<style type="text/css">
    .draggable { width: 20px; height: 20px; background-color:Blue;}
    .draggable_big { width: 40px; height: 40px; background-color:Blue;}
    .draggable_wide { width: 40px; height: 20px; background-color:Blue;}
    .draggable_long { width: 20px; height: 40px; background-color:Blue;}
    .droppable { width: 20px; height: 20px; background-color:Red;}
</style>
<script src="JavaScript/jquery-1.4.2.js" type="text/javascript"></script>
<script src="JavaScript/jquery-ui-1.8.4.js" type="text/javascript"></script>
<script src="JavaScript/Accordion.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
    $(document).ready(function() {
        $(".draggable").draggable({ snap: '.droppable' });
        $(".draggable_big").draggable({ snap: '.droppable' });
        $(".draggable_wide").draggable({ snap: '.droppable' });
        $(".draggable_long").draggable({ snap: '.droppable' });
        $( ".draggable_big" ).draggable( "option", "cursor", 'move' );
        $( ".draggable_big" ).draggable( "option", "cursorAt", {right:15,top:15} );
        $( ".draggable_wide" ).draggable( "option", "cursor", 'move' );
        $( ".draggable_wide" ).draggable( "option", "cursorAt", {right:15,top:15} );
        $( ".draggable_long" ).draggable( "option", "cursor", 'move' );
        $( ".draggable_long" ).draggable( "option", "cursorAt", {right:15,top:15} );
        $(".droppable").droppable({
            drop: function() {alert('dropped:' + $(this).attr('id')); }
        });
        $( ".droppable" ).droppable( "option", "tolerance", 'pointer' );
    });
</script>

רשימת האיזורים לבחירה: בחר איזור:

this is the code in the parrent file, the one that is calling the UC that is building the table...

now. the UC:

 public void CreatTable()
{
    //לולאה ליצירת טבלה דינאמית לפי בחירת המתכנת
    for (int i = 0; i < Convert.ToInt16(_RowNum); i++)
    {
        //שורה חדשה
        TableRow tr = new TableRow();
        //קביעת זהות דינאמית לשורה
        tr.ID = "tr" + i.ToString();
        //לולאה ליצירת העמודות בשורה
        for (int j = 0; j < Convert.ToInt16(_ColNum); j++)
        {
            //תא חדש
            TableCell td = new TableCell();
            //קבלת זהות לתא לפי השורה והעמודה
            td.ID = "td" + "_" + i.ToString() + "_" + j.ToString();
            //קביערת רוחב עמודה
            td.Width = _CellWidth;
            //קביעת גובה שורה
            td.Height = _CellHeight;
            //בקוד DIV יצירת אלמנט מסוג
            Panel div = new Panel();
            //קביעת הזהות לאלמנט
            div.ID = "div" + "_" + i.ToString() + "_" + j.ToString();
            //קביעת גובה ורוחב כמו התא
            div.Height = _CellHeight;
            div.Width = _CellWidth;

            //בדיקה האם יש אובייקטים לאותו האיזור
            if (_ObjectsForTable != null)
            {
                //אם כן, לכל תא בטבלה נבדוק האם יש לו רשומה מתאימה בבסיס המידע
                //מעבר על כל הרשומות בטבלה
                for (Int16 DataSetIndex = 0; DataSetIndex < _ObjectsForTable.Tables[0].Rows.Count; DataSetIndex++)
                {
                    //בדיקה האם האינדקסים בטבלה של הרשומה הנוכחית מתאימים לתא הנוכחי 
                    if (Convert.ToInt32(_ObjectsForTable.Tables[0].Rows[DataSetIndex]["RowID"]) == i &&
                        Convert.ToInt32(_ObjectsForTable.Tables[0].Rows[DataSetIndex]["ColID"]) == j)
                    { 
                        //אם כן, נייצר תמונה למסך לפי סוג האובייקט
                        switch(Convert.ToInt32(_ObjectsForTable.Tables[0].Rows[DataSetIndex]["ObjectTypeID"]))
                        {
                            case 1:
                                div.Style.Add("background-image", "url(Images/Objects/Tables/TableFull.jpg);");
                                div.Style.Add("position", "absolute");
                                div.Style.Add("width", "40px");
                                div.Style.Add("height", "30px");
                                break;
                            case 2:
                                div.Style.Add("background-image", "url(Images/Objects/Tables/BarChair.png);");
                                div.Style.Add("position", "absolute");
                                div.Style.Add("width", "20px");
                                div.Style.Add("height", "15px");
                                break;
                        }
                        //div.Style.Add("background-image", "url(Images/Objects/Tables/TableFull.jpg);"); 
                    }
                }
            }
            div.CssClass = "droppable";
            //לתא DIVהוספת ה
            td.Controls.Add(div);
            //בדיקה האם צריך גבולות או לא לפני שמכניסים את התא לשורה
            if (_IsBorder)
                td.Style.Add("border", "1px solid black;");
            else
                td.Style.Add("border", "none;");
            //הוספת התא לשורה
            tr.Controls.Add(td);
        }
        //הוספת השורה לטבלה
        tblMain.Controls.Add(tr);         
    }
    tblMain.Style.Add("position", "relative");
    //אם נבחרה תמונת רקע ויש תמונה רקע יש לשים אותה 
    if (_IsBackGroundImage == true && _BackGroundImage != "" && _BackGroundImage != null)
        tblMain.Style["background-image"] = _BackGroundImage;


}

I told you it's a long one....:-)

Isn't it wierd.....?

10x

+1  A: 

As with all WebControls, use the common .CssClass property to set or modify the class.

Sounds to me like your issue isn't related to setting a css class, but something else. Setting a class isn't going to cause the browser to crash.

Can you post your entire code, rather than a snippet?

KP
i'v added all the code i can...:-) 10x...
Erez