Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.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#_Javascript_Jquery_Asp.net_.net - Fatal编程技术网

C# 具有高级功能的桌子

C# 具有高级功能的桌子,c#,javascript,jquery,asp.net,.net,C#,Javascript,Jquery,Asp.net,.net,我非常需要帮助,我希望这里的人能同情我,有时间回答我;) 两周前,我正在接受培训,我正在尝试向数据表添加功能。我正在考虑使用jQuery进行实现 以下是我目前拥有的一个例子: 我从代码隐藏文件中的C#构建了这个表。我被告知要使用gridview或datagrid,但此表中的单元格具有与gridview或datagrid不兼容的功能。事实上,我在必要时通过指定属性“class”和“rowspan/colspan”将每个元素按单元格添加。我不知道是否可以用gridview或datagrid实现这一

我非常需要帮助,我希望这里的人能同情我,有时间回答我;)

两周前,我正在接受培训,我正在尝试向数据表添加功能。我正在考虑使用jQuery进行实现

以下是我目前拥有的一个例子:

我从代码隐藏文件中的C#构建了这个表。我被告知要使用gridview或datagrid,但此表中的单元格具有与gridview或datagrid不兼容的功能。事实上,我在必要时通过指定属性“class”和“rowspan/colspan”将每个元素按单元格添加。我不知道是否可以用gridview或datagrid实现这一点。对于处理过的单元格jQuery,我需要这些多个“类”(注意:能够拖放)

下面是我的一些代码,展示了如何创建此表:

Aspx代码:

<asp:Table ID="tabG" runat="server" GridLines="Both">

<asp:TableHeaderRow ID="TableHeaderRow1" runat="server" TableSection="TableHeader">
                            <asp:TableCell ID="idTitreTabG_CheckB" RowSpan="3"></asp:TableCell>
                            <asp:TableCell ID="idTitreTabG_NumOF" RowSpan="2">
                                <asp:Label ID="lbTabG_TitreNumOF" Text="N° OF" runat="server"></asp:Label> <br />
                            </asp:TableCell>
                            <asp:TableCell RowSpan="2">
                                <asp:Label ID="lbTabG_TitreSeqOF" Text="Seq OF" runat="server"></asp:Label> <br />
                            </asp:TableCell>
                            <asp:TableCell RowSpan="2">
                                <asp:Label ID="lbTabG_TitreArt" Text="Article" runat="server"></asp:Label> <br />
                            </asp:TableCell>
                            <asp:TableCell RowSpan="2">
                                <asp:Label ID="lbTabG_TitreQtePrevue" Text="Qté OF prévue" runat="server"></asp:Label> <br />
                            </asp:TableCell>
                            <asp:TableCell RowSpan="2">
                                <asp:Label ID="lbTabG_TitreQteRevue" Text="Qté OF revue" runat="server"></asp:Label> <br />
                            </asp:TableCell>
                            <asp:TableCell RowSpan="2">
                                <asp:Label ID="lbTabG_TitreComp" Text="Composant" runat="server"></asp:Label> <br />
                            </asp:TableCell>
                            <asp:TableCell RowSpan="2">
                                <asp:Label ID="lbTabG_TitreRestant" Text="Restant à assigner" runat="server"></asp:Label> <br />
                            </asp:TableCell>
                            <asp:TableCell ColumnSpan="3">
                                <asp:Label ID="lbTabG_TitreAssignHU" Text="Assignation HU" runat="server"></asp:Label>
                            </asp:TableCell>
                        </asp:TableHeaderRow>

                        <asp:TableHeaderRow ID="TableHeaderRow2" runat="server" TableSection="TableHeader">
                            <asp:TableCell>
                                <asp:Label ID="lbTabG_TitreQteTotale" Text="Qté totale" runat="server"></asp:Label> <br />
                            </asp:TableCell>
                            <asp:TableCell>
                                <asp:Label ID="lbTabG_TitreNumHU" Text="N° HU" runat="server"></asp:Label> <br />
                            </asp:TableCell>
                            <asp:TableCell>
                                <asp:Label ID="lbTabG_TitreQte" Text="Quantité" runat="server"></asp:Label> <br />
                            </asp:TableCell>
                        </asp:TableHeaderRow>

                        <asp:TableHeaderRow ID="TableHeaderRow5" runat="server" TableSection="TableHeader">
                            <asp:TableCell>
                                <asp:ImageButton ID="ibTabG_TitreNumOF_Fleche" runat="server" PostBackUrl="~/Test.aspx?nomColG=cod_wo&order=desc" ImageUrl="~/Images/bas.jpg" />
                            </asp:TableCell>
                            <asp:TableCell>
                                <asp:ImageButton ID="ibTabG_TitreSeqOF_Fleche" runat="server" PostBackUrl="~/Test.aspx?nomColG=dat_sequence&order=desc" ImageUrl="~/Images/bas.jpg" />
                            </asp:TableCell>
                            <asp:TableCell>
                                <asp:ImageButton ID="ibTabG_TitreArt_Fleche" runat="server" PostBackUrl="~/Test.aspx?nomColG=article&order=desc" ImageUrl="~/Images/bas.jpg" />
                            </asp:TableCell>
                            <asp:TableCell>
                                <asp:ImageButton ID="ibTabG_TitreQtePrevue_Fleche" runat="server" PostBackUrl="~/Test.aspx?nomColG=wo_qty&order=desc" ImageUrl="~/Images/bas.jpg" />
                            </asp:TableCell>
                            <asp:TableCell>
                                <asp:ImageButton ID="ibTabG_TitreQteRevue_Fleche" runat="server" PostBackUrl="~/Test.aspx?nomColG=qty_revue&order=desc" ImageUrl="~/Images/bas.jpg" />
                            </asp:TableCell>
                            <asp:TableCell>
                                <asp:ImageButton ID="ibTabG_TitreComposant_Fleche" runat="server" PostBackUrl="~/Test.aspx?nomColG=composant&order=desc" ImageUrl="~/Images/bas.jpg" />
                            </asp:TableCell>
                            <asp:TableCell>
                                <asp:ImageButton ID="ibTabG_TitreRestant_Fleche" runat="server" PostBackUrl="~/Test.aspx?nomColG=restant_a_assigner&order=desc" ImageUrl="~/Images/bas.jpg" />
                            </asp:TableCell>
                            <asp:TableCell>
                            </asp:TableCell>
                            <asp:TableCell>
                            </asp:TableCell>
                            <asp:TableCell>
                            </asp:TableCell>

                        </asp:TableHeaderRow>

</asp:Table>











本节创建列的标题

在完成表格的C代码后面:

protected void setTabAssignationOF(OracleConnection oConnexion, string reqOF)
        {

            OracleCommand cmd = new OracleCommand(reqOF);
            cmd.Connection = oConnexion;

            OracleDataReader reader = cmd.ExecuteReader();

            int cpt = 0;
            int nbLignesCurrentOF = 0;
            int numLigne = 0;
            string idCurrentOF = "";

            List<TableRow> lignes = new List<TableRow>();

            while (reader.Read())
            {

                TableRow nouvelleLigne = new TableRow();

                CheckBox controlCB = new CheckBox();
                TableCell checkB = new TableCell();
                TableCell numOF = new TableCell();
                TableCell seqOF = new TableCell();
                TableCell art = new TableCell();
                TableCell qtePrevue = new TableCell();
                TableCell qteRevue = new TableCell();
                TableCell composant = new TableCell();
                TableCell restant = new TableCell();
                TableCell qteTotale = new TableCell();
                TableCell numHU = new TableCell();
                TableCell qteHU = new TableCell();

                if(reader.GetValue(0).ToString() == idCurrentOF){
                    TableRow ligneModifie = new TableRow();

                    nbLignesCurrentOF = nbLignesCurrentOF + 1;

                    lignes[numLigne].Cells[0].RowSpan = nbLignesCurrentOF;
                    lignes[numLigne].Cells[1].RowSpan = nbLignesCurrentOF;
                    lignes[numLigne].Cells[2].RowSpan = nbLignesCurrentOF;
                    lignes[numLigne].Cells[3].RowSpan = nbLignesCurrentOF;
                    lignes[numLigne].Cells[4].RowSpan = nbLignesCurrentOF;
                    lignes[numLigne].Cells[5].RowSpan = nbLignesCurrentOF;
                    lignes[numLigne].Cells[6].RowSpan = nbLignesCurrentOF;
                    lignes[numLigne].Cells[7].RowSpan = nbLignesCurrentOF;


                    // nouvelles lignes
                    string identifiant = lignes[numLigne].Cells[1].ID;

                    qteTotale.Text = reader.GetValue(9).ToString();
                    qteTotale.Attributes.Add("class", "tabG_qteTotale donneesOF " + lignes[numLigne].Cells[1].Text);
                    qteTotale.Attributes.Add("value", qteTotale.Text);
                    qteTotale.ID = "qteT" + identifiant + "_" + nbLignesCurrentOF;

                    numHU.Text = reader.GetValue(10).ToString();
                    numHU.Attributes.Add("class", "tabG_numHU donneesOF " + lignes[numLigne].Cells[1].Text + " " + numHU.Text.Replace(" ", "_"));
                    numHU.Attributes.Add("value", numHU.Text);
                    numHU.ID = "numHU" + identifiant + "_" + nbLignesCurrentOF;
                    numHU.Attributes.Add("onClick", "onClick_cellule(\"" + numHU.Text + "\",\"" + numHU.Text.Replace(" ", "_") + "\");");

                    qteHU.Text = reader.GetValue(11).ToString();
                    qteHU.Attributes.Add("class", "tabG_qteHU donneesOF " + lignes[numLigne].Cells[1].Text);
                    qteHU.Attributes.Add("value", qteHU.Text);
                    qteHU.ID = "qteH" + identifiant + "_" + nbLignesCurrentOF;

                    nouvelleLigne.Cells.Add(qteTotale);
                    nouvelleLigne.Cells.Add(numHU);
                    nouvelleLigne.Cells.Add(qteHU);

                    lignes.Add(nouvelleLigne);
                }
                else{
                    numLigne = numLigne + nbLignesCurrentOF;
                    nbLignesCurrentOF = 1;

                    idCurrentOF = reader.GetValue(0).ToString();

                    // la premiere colonne contient une checkbox avec le numéro de l'OF
                    checkB.ID = "cb" + reader.GetValue(0).ToString() + cpt;
                    checkB.Controls.Add(controlCB);
                    checkB.Attributes.Add("class", "tabG_checkB donneesOF " + reader.GetValue(0).ToString());
                    checkB.Attributes.Add("value", "n");

                    // les colonnes suivantes
                    numOF.Text = reader.GetValue(0).ToString();
                    numOF.Attributes.Add("class", "tabG_numOF donneesOF " + numOF.Text + " " + numOF.Text.Replace(" ","_"));
                    numOF.Attributes.Add("value", numOF.Text);
                    numOF.ID = numOF.Text;
                    numOF.Attributes.Add("onClick", "onClick_cellule(\"" + numOF.Text + "\",\"" + numOF.Text.Replace(" ","_") + "\");");

                    seqOF.Text = reader.GetValue(3).ToString();
                    seqOF.Attributes.Add("class", "tabG_seqOF donneesOF " + numOF.Text);
                    seqOF.Attributes.Add("value", seqOF.Text);
                    seqOF.ID = "seqOF" + numOF.ID;

                    art.Text = reader.GetValue(4).ToString();
                    art.Attributes.Add("class", "tabG_art donneesOF " + numOF.Text);
                    art.Attributes.Add("value", art.Text);
                    art.ID = "art" + numOF.ID;

                    qtePrevue.Text = reader.GetValue(5).ToString();
                    qtePrevue.Attributes.Add("class", "tabG_qtePrevue donneesOF " + numOF.Text);
                    qtePrevue.Attributes.Add("value", qtePrevue.Text);
                    qtePrevue.ID = "qteP" + numOF.ID;

                    qteRevue.Text = reader.GetValue(6).ToString();
                    qteRevue.Attributes.Add("class", "tabG_qteRevue donneesOF " + numOF.Text);
                    qteRevue.Attributes.Add("value", qteRevue.Text);
                    qteRevue.ID = "qteR" + numOF.ID;

                    composant.Text = reader.GetValue(7).ToString();
                    composant.Attributes.Add("class", "tabG_composant donneesOF " + numOF.Text + " " + composant.Text.Replace(" ","_"));
                    composant.Attributes.Add("value", composant.Text);
                    composant.ID = "comp" + numOF.ID;
                    composant.Attributes.Add("onClick", "onClick_cellule(\"" + composant.Text + "\",\"" + composant.Text.Replace(" ","_") + "\");");

                    restant.Text = reader.GetValue(8).ToString();
                    restant.Attributes.Add("class", "tabG_restant donneesOF " + numOF.Text);
                    restant.Attributes.Add("value", restant.Text);
                    restant.ID = "restant" + numOF.ID;

                    qteTotale.Text = reader.GetValue(9).ToString();
                    qteTotale.Attributes.Add("class", "tabG_qteTotale donneesOF " + numOF.Text);
                    qteTotale.Attributes.Add("value", qteTotale.Text);
                    qteTotale.ID = "qteT" + numOF.ID + "_1";

                    numHU.Text = reader.GetValue(10).ToString();
                    numHU.Attributes.Add("class", "tabG_numHU donneesOF " + numOF.Text + " " + numHU.Text.Replace(" ", "_"));
                    numHU.Attributes.Add("value", numHU.Text);
                    numHU.ID = "numHU" + numOF.ID + "_1";
                    numHU.Attributes.Add("onClick", "onClick_cellule(\"" + numHU.Text + "\",\"" + numHU.Text.Replace(" ","_") + "\");");

                    qteHU.Text = reader.GetValue(11).ToString();
                    qteHU.Attributes.Add("class", "tabG_qteHU donneesOF " + numOF.Text);
                    qteHU.Attributes.Add("value", qteHU.Text);
                    qteHU.ID = "qteH" + numOF.ID + "_1";

                    nouvelleLigne.Cells.Add(checkB);
                    nouvelleLigne.Cells.Add(numOF);
                    nouvelleLigne.Cells.Add(seqOF);
                    nouvelleLigne.Cells.Add(art);
                    nouvelleLigne.Cells.Add(qtePrevue);
                    nouvelleLigne.Cells.Add(qteRevue);
                    nouvelleLigne.Cells.Add(composant);
                    nouvelleLigne.Cells.Add(restant);
                    nouvelleLigne.Cells.Add(qteTotale);
                    nouvelleLigne.Cells.Add(numHU);
                    nouvelleLigne.Cells.Add(qteHU);

                    lignes.Add(nouvelleLigne);
                }



                cpt++;
            }

            for (int i = 0; i < lignes.Count; i++)
            {
                tabG.Rows.Add(lignes[i]);
            }
        }
protectedvoid setTabAssignationOF(OracleConnection-oConnexion,string-reqOF)
{
OracleCommand cmd=新的OracleCommand(reqOF);
cmd.Connection=oConnexion;
OracleDataReader=cmd.ExecuteReader();
int-cpt=0;
int nbLignesCurrentOF=0;
int numlinge=0;
字符串idCurrentOF=“”;
列表对齐=新列表();
while(reader.Read())
{
TableRow NouvelleIgne=新的TableRow();
复选框controlCB=新复选框();
TableCell checkB=新的TableCell();
TableCell numOF=新的TableCell();
TableCell seqOF=新的TableCell();
TableCell艺术=新的TableCell();
TableCell qtePrevue=新的TableCell();
TableCell qteRevue=新的TableCell();
TableCell composant=新的TableCell();
TableCell restant=新的TableCell();
TableCell qteTotale=新的TableCell();
TableCell numHU=新的TableCell();
TableCell qteHU=新的TableCell();
if(reader.GetValue(0.ToString()==idCurrentOF){
TableRow LigneModifye=新建TableRow();
nbLignesCurrentOF=nbLignesCurrentOF+1;
对齐[numLigne]。单元格[0]。行span=NBLINGESCURRENTOF;
对齐[numLigne]。单元格[1]。行span=NBLINGESCURRENTOF;
对齐[numLigne]。单元格[2]。行span=NBLINGESCURRENTOF;
对齐[numLigne]。单元格[3]。行span=NBLINGESCURRENTOF;
对齐[numLigne]。单元格[4]。行span=NBLINGESCURRENTOF;
对齐[numLigne]。单元格[5]。行span=NBLINGESCURRENTOF;
对齐[numLigne]。单元格[6]。行span=NBLINGESCURRENTOF;
对齐[numLigne]。单元格[7]。行span=NBLINGESCURRENTOF;
//新木线
字符串标识符=对齐[numigne]。单元格[1]。ID;
qteTotale.Text=reader.GetValue(9.ToString();
添加(“class”,“tabG_qteTotale donneesOF”+对齐[numlinge]。单元格[1]。文本);
添加(“值”,qteTotale.Text);
qteTotale.ID=“qet”+标识符+“”+nbLignesCurrentOF;
numHU.Text=reader.GetValue(10.ToString();
numHU.Attributes.Add(“class”,“tabG_numHU donneesOF”+对齐[numling]。单元格[1]。Text+“”+numHU.Text.Replace(“,”);
numHU.Attributes.Add(“value”,numHU.Text);
numHU.ID=“numHU”+标识符+“”+nbLignesCurrentOF;
numHU.Attributes.Add(“onClick”、“onClick”单元(\“”+numHU.Text+“\”,\“”+numHU.Text.Replace(“,”)+“\”)”);
qteHU.Text=reader.Get