How to add tooltip for Checkboxlist for each item in asp.net

匿名 (未验证) 提交于 2019-12-03 01:39:01

问题:

                                      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         
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!