可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
public void BindListBoxPermission(int field) { MySqlCommand command = new MySqlCommand(); DataSet ds = new DataSet(); int newOrgID = field; string MysqlStatement = "SELECT RoleName from tbl_Role Where RoleID >1 order by RoleID desc"; MySqlParameter[] param = new MySqlParameter[0]; ds = server.ExecuteQuery(CommandType.Text, MysqlStatement, param); ckl_EditRole.DataSource = ds; ckl_EditRole.DataBind(); }
For each item tooltip is different, for admin tooltip is creates user and for users tooltip is creates message. How can I add tooltip for each item inside the check box
回答1:
protected void Page_PreRender(object sender, EventArgs e) { foreach (ListItem item in ckl_EditRole.Items) { item.Attributes["title"] = GetRoleTooltip(item.Value); } } private static string GetRoleTooltip(string p) { // here is your code to get appropriate tooltip message depending on role }
回答2:
Use the ToolTip property:
Is this what you are asking?
If you want to update the ToolTip for each item then you need to treat them separately:
for (int i = 0; i < ckl_EditRole.Items.Count; i++) ckl_EditRole.Items[i].Attributes["title"] = "custom Tooltip";
回答3:
You can use PreRender event-- loop over the items (should be ListItems), and you can set an html attribute for title based on the values of the checkbox.
In cases where I want to have alot of control over the checkboxes, I might favor putting a checkbox in a repeater-- but that might not be necessary here.
回答4:
You can write the following snippet of code on the page load method: chkbox.Items[0].Attributes.Add("Title", "Admin"); chkbox.ToolTip = "Admin";
chkbox.Items[1].Attributes.Add("Title", "User"); chkbox.ToolTip = "User";
回答5:
This is what I use, with more features, like making the ListItem look like a linkbutton.
protected void FormatPaskWeeksPerStudentRow(GridViewRow gvRow) { SqlDataSource sdsTETpastWeeks = (SqlDataSource)gvRow.FindControl("sdsTETpastWeeks"); sdsTETpastWeeks.SelectParameters["StudentID"].DefaultValue = hfStudentID.Value.ToString(); if (sdsTETpastWeeks != null) { CheckBoxList cbl1 = (CheckBoxList)gvRow.FindControl("listWeeksTracking"); if (cbl1 != null) { cbl1.DataBind(); foreach (ListItem litem in cbl1.Items) { //disable the checkbox for now litem.Enabled = false; //see if any of the past weeks (excluding this week) needs to be highlighted as a hyperlink to show past comments //get the Tracking value. If set, then mark the checkbox as Selected or Checked DataSourceSelectArguments dss = new DataSourceSelectArguments(); DataView dv = sdsTETpastWeeks.Select(dss) as DataView; DataTable dt = dv.ToTable() as DataTable; if (dt != null) { //this loops through ALL the weeks available to the student, for this block //it tries to match it against the current ListItem for the week it's loading and determines if they match //if so then mark the item selected (checked=true) if the value in the sub query says it's true foreach (DataRow dr in dt.Rows) { if