Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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
Asp.net 并非所有数据都适合数据网格视图_Asp.net_Mysql_Vb.net - Fatal编程技术网

Asp.net 并非所有数据都适合数据网格视图

Asp.net 并非所有数据都适合数据网格视图,asp.net,mysql,vb.net,Asp.net,Mysql,Vb.net,我正在尝试开发一个ASP.NET页面,它将显示数据库中的条目。我的查询中大约有16列。但是如果我在代码中放入包含所有16列的查询,GridView就不会显示 仅当我的查询中的列数不超过8列时,它才会显示在页面上。我不知道该怎么办有人能帮我吗 这些是用于填充查询的查询和bask端的代码示例 <asp:GridView ID="GridView1" runat="server" CellPadding="4" ForeColor="#333333" GridLines="N

我正在尝试开发一个ASP.NET页面,它将显示数据库中的条目。我的查询中大约有16列。但是如果我在代码中放入包含所有16列的查询,GridView就不会显示

仅当我的查询中的列数不超过8列时,它才会显示在页面上。我不知道该怎么办有人能帮我吗

这些是用于填充查询的查询和bask端的代码示例

 <asp:GridView ID="GridView1" runat="server" CellPadding="4" ForeColor="#333333" 
        GridLines="None" Width="900px">
        <AlternatingRowStyle BackColor="White" />
        <EditRowStyle BackColor="#2461BF" />
        <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
        <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
        <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
        <RowStyle BackColor="#EFF3FB" />
        <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
        <SortedAscendingCellStyle BackColor="#F5F7FB" />
        <SortedAscendingHeaderStyle BackColor="#6D95E1" />
        <SortedDescendingCellStyle BackColor="#E9EBEF" />
        <SortedDescendingHeaderStyle BackColor="#4870BE" />
    </asp:GridView>
这是一个有效的查询。如果我再添加一列,它也不会显示:

SELECT a.account_id AS 'No', a.accountid_number AS 'ID', CONCAT(account_name,' ',account_midname,' ',account_surname ) AS 'Student Name', a.account_type As 'Type', l.live_mail AS 'Acount Name' FROM account a, liveaccount l WHERE a.account_id = l.l_account_id"
SELECT a.account_id AS 'No', a.accountid_number AS 'ID', a.account_type AS 'Type', a.account_name || ' ' || a.account_midname || ' ' || a.account_surname  AS 'Student Name', a.account_birthdate AS 'BirthDate', l.gender AS 'Gender', l.position AS 'Position', l.office_department AS 'Office/Department', l.date_created AS 'Date Created', time_created AS 'Time Created', l.office_tel AS 'Tel No', office_localno AS 'Office Tel', l.contact_no 'Cell Phone', l.alternate_email AS 'Other Email', l.classification AS 'Classification', l.registered AS 'Status' FROM account a, liveaccount l WHERE a.account_id = l.l_account_id AND l.registered = 'NOTREGISTERED' AND a.account_deleted = 0 ORDER BY a.account_id Desc;
这一个应该可以工作,但如果我插入它,gridView不会显示:

SELECT a.account_id AS 'No', a.accountid_number AS 'ID', CONCAT(account_name,' ',account_midname,' ',account_surname ) AS 'Student Name', a.account_type As 'Type', l.live_mail AS 'Acount Name' FROM account a, liveaccount l WHERE a.account_id = l.l_account_id"
SELECT a.account_id AS 'No', a.accountid_number AS 'ID', a.account_type AS 'Type', a.account_name || ' ' || a.account_midname || ' ' || a.account_surname  AS 'Student Name', a.account_birthdate AS 'BirthDate', l.gender AS 'Gender', l.position AS 'Position', l.office_department AS 'Office/Department', l.date_created AS 'Date Created', time_created AS 'Time Created', l.office_tel AS 'Tel No', office_localno AS 'Office Tel', l.contact_no 'Cell Phone', l.alternate_email AS 'Other Email', l.classification AS 'Classification', l.registered AS 'Status' FROM account a, liveaccount l WHERE a.account_id = l.l_account_id AND l.registered = 'NOTREGISTERED' AND a.account_deleted = 0 ORDER BY a.account_id Desc;

运行查询后,您是否验证数据集是否有任何数据?您可以尝试将SQL粘贴到ManagementStudio或查询分析器中,查看SQL代码是否有问题

另外,您正在使用try/catch,但没有捕获任何特定的异常。我想换成这个。这是C,你应该能够很容易地翻译成VB

catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.ToString());}

这将显示加载数据时实际发生的情况,以及数据绑定上的任何错误。

gridview没有列限制,这可能是css问题,请关注这一点。验证第二个选择的学生姓名列的连接,它与第一个选择不同,也许你也需要使用CONCAT函数,我已经试过了。输出没有任何变化。我相信这和尺寸有关。如果我将其显示的大小增加3。但是我不能在模板边界之外增加3的大小。这会毁了这一页。我想知道是否有任何方法可以将所有列合并到GridView中。我尝试通过以下方式捕捉错误:Page.ClientScript.RegisterStartupScriptMe.GetType、ErrorAlert、exmess、True,并且成功了。日期属性是个问题,我是在dd-mm-yyy而不是yyy-mm-dd中输入的,现在它正常工作了。但是,如果用户输入了错误的data viewer页面,该页面将再次关闭。您知道如何在ASP.net中使用dateTimePicker而不是简单的文本框吗?MS的Ajax控件扩展程序有一个非常好的、非常容易实现的日历选择器/弹出窗口。Google it Ajax Control Extender Calendar,您会发现大量示例。日历选择器的另一种替代方法是客户端验证: