欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

获取DataList控件的主键和索引实用图解

程序员文章站 2024-03-04 14:31:53
“哈哈,看了这篇,只有效果,但没有结果,我怎样获取选择行的相关记录?” insus.net首先多谢网友对上面那篇博文的关注。解决你的问题,可以尝试获取选择行的索引或是主键即...
“哈哈,看了这篇,只有效果,但没有结果,我怎样获取选择行的相关记录?”

insus.net首先多谢网友对上面那篇博文的关注。解决你的问题,可以尝试获取选择行的索引或是主键即可,能获取到主键,其它字段的值,也可以获取到了。

下图中,高亮选择区,即是针对问题解决而在原在代码添加的部分。一是在datalist控件添加一个datakeyfield,以便获取到它的主键值,另外还添加了两个铵钮及一个label标答,用来显示选择结果,真正将来你也许用不上标签,因为获取到结果之后,就可以进行你想的要事情了。
获取DataList控件的主键和索引实用图解
两个铵钮事件,都是很简单,insus.net相信你能看得懂,如果遇上不明,可以讨论:
复制代码 代码如下:

view code
protected void button1_click(object sender, eventargs e)
{
button button = (button)sender;
if (findcontrol("datalistconstellation") == null) return;
datalist dlconstellation = (datalist)findcontrol("datalistconstellation");
foreach (datalistitem dli in dlconstellation.items)
{
if (dli.findcontrol("radiobuttonselect") == null) return;
radiobutton rb = (radiobutton)dli.findcontrol("radiobuttonselect");
if (rb.checked)
{
labelselectedresult.text = string.format("你执行铵钮'{0}',选择行的索引是:{1}; 主键值是:{2}", button.text, dli.itemindex.tostring(), dlconstellation.datakeys[dli.itemindex].tostring());
break;
}
else
{
labelselectedresult.text = string.format("你执行铵钮'{0}',没有选择任何一行。", button.text);
}
}
}
protected void button2_click(object sender, eventargs e)
{
button button = (button)sender;
datalist dlconstellation = (datalist)findcontrol("datalistconstellation");
for (int i = 0; i < dlconstellation.items.count; i++)
{
radiobutton rb = (radiobutton)dlconstellation.items[i].findcontrol("radiobuttonselect");
if (rb.checked)
{
labelselectedresult.text = string.format("你执行铵钮'{0}',选择行的索引是:{1}; 主键值是:{2}", button.text, i.tostring(), dlconstellation.datakeys[i].tostring());
break;
}
else
{
labelselectedresult.text = string.format("你执行铵钮'{0}',没有选择任何一行。", button.text);
}
}
}