Флажок Добавление всех строк для неизвестного источника данных Gridview - PullRequest
1 голос
/ 24 марта 2011

У меня есть Gridview, как это.

<asp:GridView ID="GridView1" runat="server"  
         Width="16px" BackColor="White" BorderColor="#E7E7FF" 
        BorderStyle="None" BorderWidth="1px" CellPadding="3" 
        GridLines="Horizontal" Height="16px" >
        <AlternatingRowStyle BackColor="#F7F7F7" />
        <FooterStyle BackColor="#B5C7DE" ForeColor="#4A3C8C" />
        <HeaderStyle BackColor="#4A3C8C" Font-Bold="True" ForeColor="#F7F7F7" />
        <PagerStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" HorizontalAlign="Right" />
        <RowStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" />
        <SelectedRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="#F7F7F7" />
        <sortedascendingcellstyle backcolor="#F4F4FD" />
        <sortedascendingheaderstyle backcolor="#5A4C9D" />
        <sorteddescendingcellstyle backcolor="#D8D8F0" />
        <sorteddescendingheaderstyle backcolor="#3E3277" />

<SortedAscendingCellStyle BackColor="#F4F4FD"></SortedAscendingCellStyle>

<SortedAscendingHeaderStyle BackColor="#5A4C9D"></SortedAscendingHeaderStyle>

<SortedDescendingCellStyle BackColor="#D8D8F0"></SortedDescendingCellStyle>

<SortedDescendingHeaderStyle BackColor="#3E3277"></SortedDescendingHeaderStyle>
    </asp:GridView>

Программно, я добавляю источник данных этого Gridview.

protected void SendToGridview_Click(object sender, EventArgs e)
    {
        Calculate.Visible = true;
        MV_Label.Visible = true;
        RISK_Label.Visible = true;

        string strQuery;
        string ConnectionString = ConfigurationManager.ConnectionStrings["ora"].ConnectionString;

        OracleConnection myConnection = new OracleConnection(ConnectionString);

        strQuery = @"SELECT A.HESAP_NO, A.TEKLIF_NO1 || '/' || A.TEKLIF_NO2 AS TEKLIF, A.MUS_K_ISIM AS MUSTERI, 
                    B.MARKA, C.SASI_NO, C.SASI_DURUM, D.TAS_MAR, NVL(RISK_SASI(A.TEKLIF_NO1, A.TEKLIF_NO2, C.URUN_SIRA_NO, C.SIRA_NO),0) AS RISK,
                    NVL(MV_SASI(A.TEKLIF_NO1, A.TEKLIF_NO2, C.SIRA_NO, C.URUN_SIRA_NO, SYSDATE),0) 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 ";

        string param = "";
        foreach (ListItem l in CheckBoxList1.Items)
        {
            if (l.Selected)
            {
                param += string.Format("'{0}'", l.Value);
                param += ",";
            }
        }
        param = param.Remove(param.Length - 1);

        strQuery = strQuery + " AND A.HESAP_NO IN (" + param + ")";

        OracleCommand myCommand = new OracleCommand(strQuery, myConnection);
        myCommand.CommandType = System.Data.CommandType.Text;
        myCommand.Connection = myConnection;

        myCommand.CommandText = strQuery;

        myConnection.Open();

        OracleDataReader dr = myCommand.ExecuteReader(System.Data.CommandBehavior.CloseConnection);

        GridView1.DataSource = dr;
        GridView1.DataBind();
        GridView1.Visible = true;

        myConnection.Close();
    }

Это мой Gridview выглядит;

enter image description here

То, что я хочу, я хочу добавить столбец флажков после RISK столбца и MV столбца.

Я имею в виду, столбцы похожи, HESAP_NO , TEKLIF , MUSTERI , MARKA , SASI_NO , SASI_DURUM , TAS_MAR, РИСК , (флажки) , MV , (флажки) .Всего должно быть 11 столбец.

И я хочу, чтобы все флажки были установлены по умолчанию.

Как я могу это сделать?

Я прочитал это статья, но в этой статье Gridview нормальный источник данных.Я добавил программно.

1 Ответ

2 голосов
/ 24 марта 2011

Вам нужно будет отключить AutoGenerated столбцы и использовать вместо них определенные:

<asp:GridView ID="GridView1" runat="server" Width="16px" BackColor="White"
     BorderColor="#E7E7FF" BorderStyle="None" BorderWidth="1px"  
     CellPadding="3" GridLines="Horizontal" Height="16px" AutoGenerateColumns="false">

     <!-- put your style stuff here -->

     <asp:BoundField HeaderText="Text" DataField="HESAP_NO" />
     <asp:BoundField HeaderText="Text" DataField="TEKLIF" />
     <asp:BoundField HeaderText="Text" DataField="MUSTERI" />
     <asp:BoundField HeaderText="Text" DataField="MARKA" />
     <asp:BoundField HeaderText="Text" DataField="SASI_NO" />
     <asp:BoundField HeaderText="Text" DataField="SASI_DURAM" />
     <asp:BoundField HeaderText="Text" DataField="TAS_MAR" />
     <asp:BoundField HeaderText="Text" DataField="RISK" />
     <asp:BoundField HeaderText="Text" DataField="Text" />

     <asp:CheckBoxField DataField="NameCheckBoxField1" HeaderText="NameCheckBoxField1" />

     <asp:BoundField HeaderText="Text" DataField="MV" />

     <asp:CheckBoxField DataField="NameCheckBoxField2" HeaderText="NameCheckBoxField2" />

</asp:GridView> 

Вам также нужно будет изменить свой SQL, чтобы он возвращал два поля, с которыми CheckBoxField может отображаться,Эти поля должны содержать битовое поле с истинным значением для всех случаев.Это позволит автоматически связывать данные с CheckBoxField и проверять по умолчанию.

EG:

SELECT
    -- all our fields
    'NameCheckBoxField1' = 0x1,
    'NameCheckBoxField2' = 0x1
FROM
    -- etc...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...