【问题标题】:Selected Data in CheckBoxList to GridviewCheckBoxList 中的选定数据到 Gridview
【发布时间】:2011-07-19 20:27:38
【问题描述】:

我有一个像这样的CheckBoxList。 (有客户姓名)

这些是客户名称,每个客户都有一个客户编号 (Unique -- Primary Key)

表:S_TEKLIF

MUS_K_ISIM 代表客户名称

HESAP_NO 代表客户编号

我有一个Send ButtonGridview。 当我点击发送按钮时,

在我的Gridview 中,我只想运行这个SQL

SELECT A.HESAP_NO, A.TEKLIF_NO1 || '/' || A.TEKLIF_NO2 AS TEKLIF, A.MUS_K_ISIM, 
B.MARKA, C.SASI_NO, C.SASI_DURUM, D.TAS_MAR, RISK_SASI(A.TEKLIF_NO1, A.TEKLIF_NO2, C.SASI_NO) AS RISK,
MV_SASI(A.TEKLIF_NO1, A.TEKLIF_NO2, C.SASI_NO, SYSDATE) AS MV
FROM S_TEKLIF A,  S_URUN B, S_URUN_DETAY C, KOC_KTMAR_PR D
WHERE A.TEKLIF_NO1 || A.TEKLIF_NO2 = B.TEKLIF_NO1 || B.TEKLIF_NO2
AND A.TEKLIF_NO1 || A.TEKLIF_NO2 = C.TEKLIF_NO1 || C.TEKLIF_NO2
AND B.SIRA_NO = C.URUN_SIRA_NO
AND B.DISTRIBUTOR = D.DIST_KOD
AND B.MARKA = D.MARKA_KOD
AND B.URUN_KOD = D.TAS_KOD
AND A.HESAP_NO IN (

但正如您在SQL 的底部看到的那样,我只想在我的 Gridview 中显示“我在 CheckBoxList 中选择了哪些客户”。

我该怎么做?

我的Send_Click() 函数和我的SQL 中应该有什么?

最好的问候,Soner

【问题讨论】:

    标签: c# .net asp.net gridview checkbox


    【解决方案1】:

    我正在用简单的英文格式做陈述

    在您的按钮单击事件中添加以下代码

    protected void mybutton_click()
    {
        StringBuilder sb = new StringBuilder();
        foreach(ListItem item in CustomerListBox.Items)
        {
    
             If(item.selected)
             {
                 sb.Append(item.SelectedValue+",");
             }
        }
    
        FillGridview(sb);
    }
    
    private void FillGridview(StringBuilder sb)
    {
        string s = sb.tostring().remove().lastindexof(",");
        //pass this string as param and set it your where condition.
        // Get the datatble or collection and bind grid.
    }
    
    Select your desired columsn to display 
    From Your Tables (put joins if required)
    Where CustomerNumber IN (@CommaSeparatedAboveString_s);
    

    【讨论】:

    • 我应该在哪个函数中添加这段代码?我认为 SQL 必须更改我在 CheckBoxList 中选择的内容。向“AND A.HESAP_NO IN.....”添加一些参数对吗?
    【解决方案2】:

    对您的复选框列表中的每个项目进行迭代,并检查该项目是否被选中,如果是,则获取该项目的客户 ID(您可能将其放置在项目的 value 属性中)。准备一个逗号分隔的这些客户 ID 列表并传递到 SQL 的 IN 子句中。所以它会像下面这样。

    SELECT A.HESAP_NO, A.TEKLIF_NO1 || '/' || A.TEKLIF_NO2 AS TEKLIF, A.MUS_K_ISIM, 
    B.MARKA, C.SASI_NO, C.SASI_DURUM, D.TAS_MAR, RISK_SASI(A.TEKLIF_NO1, A.TEKLIF_NO2, C.SASI_NO) AS RISK,
    MV_SASI(A.TEKLIF_NO1, A.TEKLIF_NO2, C.SASI_NO, SYSDATE) AS MV
    FROM S_TEKLIF A,  S_URUN B, S_URUN_DETAY C, KOC_KTMAR_PR D
    WHERE A.TEKLIF_NO1 || A.TEKLIF_NO2 = B.TEKLIF_NO1 || B.TEKLIF_NO2
    AND A.TEKLIF_NO1 || A.TEKLIF_NO2 = C.TEKLIF_NO1 || C.TEKLIF_NO2
    AND B.SIRA_NO = C.URUN_SIRA_NO
    AND B.DISTRIBUTOR = D.DIST_KOD
    AND B.MARKA = D.MARKA_KOD
    AND B.URUN_KOD = D.TAS_KOD
    AND A.HESAP_NO IN (12,14,13,18,26)
    

    【讨论】:

    • 您只需更改 AND A.HESAP_NO IN (12,14,13,18,26)。真的吗?我只想了解如何使用代码来做到这一点?如何在我的 SQL 中添加参数?我应该吗?
    • @Soner:我告诉你如何做到这一点,但如果你想让我编写 SQL 和 C# 函数将获得更多细节,那么这是不可能的 :-))
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多