zoukankan      html  css  js  c++  java
  • 获取DataList控件的主键和索引

    “哈哈,看了你这篇博文http://www.cnblogs.com/insus/archive/2013/01/20/2868211.html,只有效果,但没有结果,我怎样获取选择行的相关记录?”

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

    下图中,高亮选择区,即是针对问题解决而在原在代码添加的部分。一是在DataList控件添加一个DataKeyField,以便获取到它的主键值,另外还添加了两个铵钮及一个Label标答,用来显示选择结果,真正将来你也许用不上标签,因为获取到结果之后,就可以进行你想的要事情了。

    两个铵钮事件,都是很简单,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);
                }
            }
        }


     

  • 相关阅读:
    阿杜复博通知
    vim 配置文件 ,高亮+自动缩进+行号+折叠+优化
    网络课设总结(五)——利用CAsyncSocket进行异步通信
    网络课设总结(四)——利用CAsyncSocket进行异步通信
    网络课设总结(三)——VC++应用技巧
    ubuntu11.10下配置adsl上网
    反省
    cp命令“d”参数解释及实例
    网络课设总结(二)——VC开发环境
    SharePoint中如何获得当前用户的loginName
  • 原文地址:https://www.cnblogs.com/insus/p/2868403.html
Copyright © 2011-2022 走看看