Tuesday, August 30, 2011

CheckBoxList in MVC

http://blogs.msdn.com/b/miah/archive/2008/11/10/checkboxlist-helper-for-mvc.aspx

http://weblogs.asp.net/gunnarpeipman/archive/2011/05/05/asp-net-mvc-implementing-checkboxlist.aspx

MVC Web Grid


                        @{
                            var grid = new WebGrid(ViewBag.AvailableCAList1, canPage: false, canSort: false);
                            @grid.GetHtml(tableStyle: "webGrid",
                            htmlAttributes: new { id = "DataTable" },
                             columns: grid.Columns(
                                    grid.Column("Ca_Id", header: "Select", format: @<text><input name="chk" type="checkbox" checked="@item.Selected" value="@item.Ca_Id"/></text>),
                                    grid.Column("Selected", "Select", format: (item) => Html.CheckBox("chkSelect", (Boolean)item.Selected, new { @id = item.Ca_Id, @value = item.Ca_Description })),
                                    grid.Column(format: (item) => Html.ActionLink("Edit", "EditProject", new { EmployeeID = item.Ca_Id })),
                                    grid.Column("Ca_Id", header: "CA"),
                                    grid.Column("Ca_Description", header: "Description"),
                                    grid.Column("Selected"),
                                    grid.Column("Ca_Id", header: "CA1", format: @<text><input name="Amount" type="text" value="@item.Ca_Id" /></text>)
                             ));              
                        }


ViewBag.AvailableCAList1 = finding.GetAvailableCA1(objFindingModel.EpasCode.EpasCodeId);


        public List<CA> GetAvailableCA1(int id)
        {
            List<CA> objCA = new List<CorrectiveAction>();
            DbCommand dbCommand = oDatabase.GetStoredProcCommand("GetAvailable");
            oDatabase.AddInParameter(dbCommand, "@id", DbType.Int32, id);
            using (System.Data.IDataReader oReader = oDatabase.ExecuteReader(dbCommand))
            {
                while (oReader.Read())
                {
                    objCA .Add(new CA
                    {
                        Ca_Id = Convert.ToInt32(oReader["id"].ToString()),
                        Ca_Description = oReader["text"].ToString(),
                        Selected = (Convert.ToInt32(oReader["available_CA_Id"].ToString()) % 2) == 0 ? true : false,
                    }
                    );
                }
            }
            return objCA ;
        }

Wednesday, August 24, 2011

Moving data between two ListBoxes


<form method="get">             
      <select id="SelectLeft" multiple="multiple">
            <option value="1">Australia</option>
            <option value="2">New Zealand</option>
            <option value="3">Canada</option>
            <option value="4">USA</option>
            <option value="5">France</option>
      </select>
           
      <input id="MoveRight" type="button" value=" >> " />
      <input id="MoveLeft" type="button" value=" << " />
       
      <select id="SelectRight" multiple="multiple">          
      </select>
</form>
jQuery 1.3.2
Below is the code to move the selected items from each <select> element. 
<script language="javascript" type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>   
    <script language="javascript" type="text/javascript">
        $(function() {
            $("#MoveRight,#MoveLeft").click(function(event) {
                var id = $(event.target).attr("id");
                var selectFrom = id == "MoveRight" ? "#SelectLeft" : "#SelectRight";
                var moveTo = id == "MoveRight" ? "#SelectRight" : "#SelectLeft";
 
                var selectedItems = $(selectFrom + "option:selected");
                var output = [];               
                $.each(selectedItems, function(key, e) {                   
                  output.push('<option value="' + e.value + '">' + e.text + '</option>');
                                });
               
                $(moveTo).append(output.join(""));               
                selectedItems.remove();
            });
        });
    </script>
jQuery 1.4
 
In the new jQuery library, the team has introduced a new function called toArray. This retrieves all the DOM elements contained in the jQuery set, as an array. So here's the code below:
 
<script language="javascript" type="text/javascript" src="http://code.jquery.com/jquery-1.4.1.min.js"></script>
    <script language="javascript" type="text/javascript">
        $(function() {
            $("#MoveRight,#MoveLeft").click(function(event) {
                var id = $(event.target).attr("id");
                var selectFrom = id == "MoveRight" ? "#SelectLeft" : "#SelectRight";
                var moveTo = id == "MoveRight" ? "#SelectRight" : "#SelectLeft";
 
                var selectedItems = $(selectFrom + " :selected").toArray();
                $(moveTo).append(selectedItems);
                selectedItems.remove;
            });
        });
    </script>