I want to create Custom dropdown Control in Asp.Net in which i want to show multiple checkbox in 3 column. I have created, but it displays only one column checkbox, can any1 help me pz?
<script language="javascript" type="text/javascript">
function showdiv() {
document.getElementById("divChkList").style.display = "block";
}
function showdivonClick() {
var objDLL = document.getElementById("divChkList");
if (objDLL.style.display == "block")
objDLL.style.display = "none";
else
objDLL.style.display = "block";
}
function getSelectedItem(lstValue, lstNo, lstID, ctrlType) {
var noItemChecked = 0;
var ddlReport = document.getElementById("ddlChkList");
var selectedItems = "";
var arr = document.getElementById("chkLstItem").getElementsByTagName('input');
var arrlbl = document.getElementById("chkLstItem").getElementsByTagName('label');
var objLstId = document.getElementById('hidList');
for (i = 0; i < arr.length; i++) {
checkbox = arr[i];
if (i == lstNo) {
if (ctrlType == 'anchor') {
if (!checkbox.checked) {
checkbox.checked = true;
}
else {
checkbox.checked = false;
}
}
}
if (checkbox.checked) {
if (selectedItems == "") {
selectedItems = arrlbl[i].innerText;
}
else {
selectedItems = selectedItems + "," + arrlbl[i].innerText;
}
noItemChecked = noItemChecked + 1;
}
}
ddlReport.title = selectedItems;
var Text = ddlReport.options[ddlReport.selectedIndex].text;
if (noItemChecked == 1)
ddlReport.options[ddlReport.selectedIndex].text = lstValue;
else
ddlReport.options[ddlReport.selectedIndex].text = noItemChecked + " Items";
document.getElementById('hidList').value = ddlReport.options[ddlReport.selectedIndex].text;
}
document. önclick = check;
function check(e) {
var target = (e && e.target) || (event && event.srcElement);
var obj = document.getElementById('divChkList');
var obj1 = document.getElementById('ddlChkList');
if (target.id != "alst" && !target.id.match("chkLstItem")) {
if (!(target == obj || target == obj1)) {
obj.style.display = 'none'
}
else if (target == obj || target == obj1) {
if (obj.style.display == 'block') {
obj.style.display = 'block';
}
else {
obj.style.display = 'none';
document.getElementById('ddlChkList').blur();
}
}
}
}
C# code
protected void Page_Load(object sender, EventArgs e)
{
DropDownList ddl = new DropDownList();
ddl.ID = "ddlChkList";
ListItem lstItem = new ListItem();
ddl.Items.Insert(0, lstItem);
ddl.Width = new Unit(155);
ddl.Attributes.Add("onmousedown", "showdivonClick()");
CheckBoxList chkBxLst = new CheckBoxList();
chkBxLst.ID = "chkLstItem";
chkBxLst.Attributes.Add("onmouseover", "showdiv()");
DataTable dtListItem = GetListItem();
int rowNo = dtListItem.Rows.Count;
string lstValue = string.Empty;
string lstID = string.Empty;
for (int i = 0; i < rowNo - 1; i++)
{
lstValue = dtListItem.Rows[i]["Value"].ToString();
lstID = dtListItem.Rows[i]["ID"].ToString();
lstItem = new ListItem("< chk.Items.Count; i++)
{
if (chk.Items[i].Selected)
{
if (strSelectedItem.Length == 0)
{
strSelectedItem = chk.Items[i].Selected.ToString();
}
else
{
strSelectedItem = strSelectedItem + "," + chk.Items[i].Selected.ToString();
}
}
}
ddl.Items.Clear();
ddl.Items.Add(new ListItem(hidList.Value));
lblSelectedItem.Text = strSelectedItem;
}
public DataTable GetListItem()
{
DataTable table = new DataTable();
table.Columns.Add("ID", typeof(int));
table.Columns.Add("Value", typeof(string));
table.Rows.Add(1, "ListItem1");
table.Rows.Add(2, "ListItem2");
table.Rows.Add(3, "ListItem3");
table.Rows.Add(4, "My ListItem Wraps also");
table.Rows.Add(5, "My New ListItem5");
table.Rows.Add(6, "ListItem6");
table.Rows.Add(7, "ListItem7");
table.Rows.Add(8, "ListItem8");
return table;
}