Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 复选框工具提示数据库_C#_Asp.net - Fatal编程技术网

C# 复选框工具提示数据库

C# 复选框工具提示数据库,c#,asp.net,C#,Asp.net,好的,我需要一些帮助。我的数据库中有一个表AgileFactors,它包含以下字段:AgileFactorID、Name和Description。我使用复选框列表将名称绑定为DataTextField,将AgileFactorID绑定为DataValueField。我想做的是使用数据库中的Description字段作为悬停时的工具提示,显示在每个复选框旁边的信息图标。请看下面我的代码。目前,我正在span标记中传递一个长字符串,这是毫无意义的。有人能帮我确保工具提示是从数据库中检索到的吗?非常感

好的,我需要一些帮助。我的数据库中有一个表AgileFactors,它包含以下字段:AgileFactorID、Name和Description。我使用复选框列表将名称绑定为DataTextField,将AgileFactorID绑定为DataValueField。我想做的是使用数据库中的Description字段作为悬停时的工具提示,显示在每个复选框旁边的信息图标。请看下面我的代码。目前,我正在span标记中传递一个长字符串,这是毫无意义的。有人能帮我确保工具提示是从数据库中检索到的吗?非常感谢

"SELECT Name, AgileFactorID, Description FROM AgileFactors"

agile_factors.DataSource = ds2;
agile_factors.DataTextField = "Name";
agile_factors.DataValueField = "AgileFactorID";
agile_factors.DataBind();


protected void agilefactors_DataBound(object sender, EventArgs e)
{

    var checkBox = sender as CheckBoxList;
    if (checkBox != null)
    {

        foreach (ListItem listItem in checkBox.Items)
        {

            listItem.Text = string.Format("{0} <span class='link'><a href='javascript: void(0)'><font face='verdana,arial,helvetica' size='2'><img src='{1}' Height='15' Width='15' /></font><span><b>Project Duration:</b><br/>Ideally, the project should be close to 6 months: much shorter means less iterations, and much longer tends towards long term planning.</span></a></span>", listItem.Text, GetImageFor(listItem.Text));

        }
    }
}

private string GetImageFor(string text)
{

    // return image url for check box based on text. 
    switch (text)
    {
        case "Project Duration": return "images/iicon.gif";
        case "Customer Involvement": return "images/iicon.gif";
        case "Acceptance of Change": return "images/iicon.gif";
        case "Team Size": return "images/iicon.gif";
        case "Skill of Team": return "images/iicon.gif";
        case "Organisational and Reporting Structure": return "images/iicon.gif";
        case "Process": return "images/iicon.gif";
        case "Documentation Requirements": return "images/iicon.gif";
        case "Layout of Workspace": return "images/iicon.gif";
        case "Empowered Team": return "images/iicon.gif";
        default: return null;
    }
}
“从AgileFactors中选择名称、AgileFactorID和描述”
agile_factors.DataSource=ds2;
agile_factors.DataTextField=“Name”;
agile\u factors.DataValueField=“AgileFactorID”;
agile_factors.DataBind();
受保护的无效agilefactors_数据绑定(对象发送方、事件参数e)
{
var checkBox=发送方作为复选框列表;
如果(复选框!=null)
{
foreach(checkBox.Items中的ListItem ListItem)
{
listItem.Text=string.Format(“{0}”,listItem.Text,GetImageFor(listItem.Text));
}
}
}
私有字符串GetImageFor(字符串文本)
{
//基于文本返回复选框的图像url。
开关(文本)
{
案例“项目持续时间”:返回“images/iicon.gif”;
案例“客户参与”:返回“images/iicon.gif”;
案例“接受变更”:返回“images/iicon.gif”;
案例“团队规模”:返回“images/iicon.gif”;
案例“团队技能”:返回“images/iicon.gif”;
案例“组织和报告结构”:返回“images/iicon.gif”;
案例“处理”:返回“images/iicon.gif”;
案例“文件要求”:返回“images/iicon.gif”;
案例“工作区布局”:返回“images/iicon.gif”;
案例“授权团队”:返回“images/iicon.gif”;
默认值:返回null;
}
}

正如您有一个要获取图像的函数一样,创建另一个“GetTooltip”函数。 像拉其他字段一样拉工具提示,并将其指定给tooltip属性

编辑

你真的有所有的代码,你所要做的就是去做。我不会为你做数据库方面的工作,因为你自己可以做,你已经在这里演示过了

但要在此处添加工具提示,请执行以下操作:

 int i = 0;

            foreach(ListItem l in this.CheckBoxList1.Items)
            {
                i++;
                l.Attributes["title"] = "Tooltip " + i.ToString();
            }
下面是结果的屏幕截图。

根据需要设置格式,但现在您可以选择单程

protected void agilefactors_DataBound(object sender, EventArgs e) 
{ 
    var checkBox = sender as CheckBoxList; 
    if (checkBox != null) 
    { 
        foreach (ListItem listItem in checkBox.Items) 
        {                
            listItem.Text = string.Format("{0} <span class='link'><a href='javascript: void(0)'><font face='verdana,arial,helvetica' size='2'><img src='{1}' Height='15' Width='15' alt='{2}' /></font><span><b>Project Duration:</b><br/>Ideally, the project should be close to 6 months: much shorter means less iterations, and much longer tends towards long term planning.</span></a></span>", listItem.Text, GetImageFor(listItem.Text), GetToolTip(listItem.Value));
        } 
    } 
}

private string GetToolTip(string value)
{
    var x = (from y in ds2.AsEnumerable()
             where y["AgileFactorID"] == value
             select y["description"]).FirstOrDefault();

    return x.ToString();
}
受保护的无效agilefactors_数据绑定(对象发送方,事件参数e)
{ 
var checkBox=发送方作为复选框列表;
如果(复选框!=null)
{ 
foreach(checkBox.Items中的ListItem ListItem)
{                
listItem.Text=string.Format(“{0}”、listItem.Text、GetImageFor(listItem.Text)、GetToolTip(listItem.Value));
} 
} 
}
私有字符串GetToolTip(字符串值)
{
变量x=(从ds2.AsEnumerable()中的y开始)
其中y[“AgileFactorID”]==值
选择y[“description”]).FirstOrDefault();
返回x.ToString();
}

您需要修复现有的内容,但这应该会有所帮助。

使用listitem类的属性并分配title属性不是更容易吗?当然-但我一直在努力坚持他所拥有的内容,如果他仍然需要链接中的文本等,我就不会重写。如果真的需要您的帮助,请在这方面。我认为使用这种方法是可行的。我真的不知道怎么读数据库里的描述,你能给我看看吗?