【问题标题】:Operating multiple gridviews with a single button?用一个按钮操作多个网格视图?
【发布时间】:2015-03-05 14:34:18
【问题描述】:

好的,所以我正在使用带有 4 个选项卡的 AJAX 选项卡面板,每个选项卡都有绑定到不同表的 GridView。我有 1 个添加和 1 个编辑按钮。是否可以创建代码,以便将用户在字段中输入的数据添加到选定的选项卡中?可能吗?是通过 if/else-if 语句还是 switch?但我不知道我要检查什么?标签 ID?这是我的 ASPX 代码..

<div class="gview">
  <ajaxToolkit:TabContainer ID="TabContainer1" runat="server" ActiveTabIndex="3" Width="614px">
    <asp:TabPanel runat="server" HeaderText="Cardiology" ID="TabPanel1">
      <ContentTemplate>
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1">

          <Columns>
            <asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" />
            <asp:BoundField DataField="Designation" HeaderText="Designation" SortExpression="Designation" />
            <asp:BoundField DataField="Ward_rounds" HeaderText="Ward_rounds" SortExpression="Ward_rounds" />
            <asp:BoundField DataField="Slot1" HeaderText="Slot1" SortExpression="Slot1" />
            <asp:BoundField DataField="Slot2" HeaderText="Slot2" SortExpression="Slot2" />
            <asp:BoundField DataField="Slot3" HeaderText="Slot3" SortExpression="Slot3" />
            <asp:BoundField DataField="Slot4" HeaderText="Slot4" SortExpression="Slot4" />
            <asp:BoundField DataField="BreakTime" HeaderText="BreakTime" SortExpression="BreakTime" />
            <asp:BoundField DataField="Slot5" HeaderText="Slot5" SortExpression="Slot5" />
            <asp:BoundField DataField="Slot6" HeaderText="Slot6" SortExpression="Slot6" />
            <asp:BoundField DataField="Slot7" HeaderText="Slot7" SortExpression="Slot7" />
            <asp:BoundField DataField="Slot8" HeaderText="Slot8" SortExpression="Slot8" />
          </Columns>

        </asp:GridView>
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:masterConnectionString %>" SelectCommand="SELECT * FROM [Cardio_schedule]"></asp:SqlDataSource>
      </ContentTemplate>
    </asp:TabPanel>
    <asp:TabPanel runat="server" HeaderText="Neurology" ID="TabPanel2">
      <ContentTemplate>
        <asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource2">
          <Columns>
            <asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" />
            <asp:BoundField DataField="Designation" HeaderText="Designation" SortExpression="Designation" />
            <asp:BoundField DataField="Ward_Rounds" HeaderText="Ward_Rounds" SortExpression="Ward_Rounds" />
            <asp:BoundField DataField="Slot1" HeaderText="Slot1" SortExpression="Slot1" />
            <asp:BoundField DataField="Slot2" HeaderText="Slot2" SortExpression="Slot2" />
            <asp:BoundField DataField="Slot3" HeaderText="Slot3" SortExpression="Slot3" />
            <asp:BoundField DataField="Slot4" HeaderText="Slot4" SortExpression="Slot4" />
            <asp:BoundField DataField="BreakTime" HeaderText="BreakTime" SortExpression="BreakTime" />
            <asp:BoundField DataField="Slot5" HeaderText="Slot5" SortExpression="Slot5" />
            <asp:BoundField DataField="Slot6" HeaderText="Slot6" SortExpression="Slot6" />
            <asp:BoundField DataField="Slot7" HeaderText="Slot7" SortExpression="Slot7" />
            <asp:BoundField DataField="Slot8" HeaderText="Slot8" SortExpression="Slot8" />
          </Columns>

        </asp:GridView>
        <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:masterConnectionString %>" SelectCommand="SELECT * FROM [Neuro_schedule]"></asp:SqlDataSource>
      </ContentTemplate>
    </asp:TabPanel>

    <asp:TabPanel runat="server" HeaderText="Dermatology" ID="TabPanel3">
      <ContentTemplate>
        <asp:GridView ID="GridView3" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource3">
          <Columns>
            <asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" />
            <asp:BoundField DataField="Designation" HeaderText="Designation" SortExpression="Designation" />
            <asp:BoundField DataField="Ward_Rounds" HeaderText="Ward_Rounds" SortExpression="Ward_Rounds" />
            <asp:BoundField DataField="Slot1" HeaderText="Slot1" SortExpression="Slot1" />
            <asp:BoundField DataField="Slot2" HeaderText="Slot2" SortExpression="Slot2" />
            <asp:BoundField DataField="Slot3" HeaderText="Slot3" SortExpression="Slot3" />
            <asp:BoundField DataField="Slot4" HeaderText="Slot4" SortExpression="Slot4" />
            <asp:BoundField DataField="BreakTime" HeaderText="BreakTime" SortExpression="BreakTime" />
            <asp:BoundField DataField="Slot5" HeaderText="Slot5" SortExpression="Slot5" />
            <asp:BoundField DataField="Slot6" HeaderText="Slot6" SortExpression="Slot6" />
            <asp:BoundField DataField="Slot7" HeaderText="Slot7" SortExpression="Slot7" />
            <asp:BoundField DataField="Slot8" HeaderText="Slot8" SortExpression="Slot8" />
          </Columns>

        </asp:GridView>
        <asp:SqlDataSource ID="SqlDataSource3" runat="server" ConnectionString="<%$ ConnectionStrings:masterConnectionString %>" SelectCommand="SELECT * FROM [Derma_Schedule]"></asp:SqlDataSource>
      </ContentTemplate>
    </asp:TabPanel>
    <asp:TabPanel runat="server" HeaderText="Opthalmology" ID="TabPanel4">
      <ContentTemplate>
        <asp:GridView ID="GridView4" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource4">
          <Columns>
            <asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" />
            <asp:BoundField DataField="Designation" HeaderText="Designation" SortExpression="Designation" />
            <asp:BoundField DataField="Ward_Rounds" HeaderText="Ward_Rounds" SortExpression="Ward_Rounds" />
            <asp:BoundField DataField="Slot1" HeaderText="Slot1" SortExpression="Slot1" />
            <asp:BoundField DataField="Slot2" HeaderText="Slot2" SortExpression="Slot2" />
            <asp:BoundField DataField="Slot3" HeaderText="Slot3" SortExpression="Slot3" />
            <asp:BoundField DataField="Slot4" HeaderText="Slot4" SortExpression="Slot4" />
            <asp:BoundField DataField="BreakTime" HeaderText="BreakTime" SortExpression="BreakTime" />
            <asp:BoundField DataField="Slot5" HeaderText="Slot5" SortExpression="Slot5" />
            <asp:BoundField DataField="Slot6" HeaderText="Slot6" SortExpression="Slot6" />
            <asp:BoundField DataField="Slot7" HeaderText="Slot7" SortExpression="Slot7" />
            <asp:BoundField DataField="Slot8" HeaderText="Slot8" SortExpression="Slot8" />
          </Columns>

        </asp:GridView>
        <asp:SqlDataSource ID="SqlDataSource4" runat="server" ConnectionString="<%$ ConnectionStrings:masterConnectionString %>" SelectCommand="SELECT * FROM [Optha_schedule]"></asp:SqlDataSource>
      </ContentTemplate>

    </asp:TabPanel>

  </ajaxToolkit:TabContainer>



</div>

我没有把 CSS 代码放在这里,因为它不是必需的。而且还没有 C# 代码,因为我需要一些关于如何使用 1 个按钮来操作所有 4 个网格视图的想法。

我希望它是这样的:

If (selectedTab = 1) {
    //DB code for respective table
}

else if (selectedTab= 2) {
    //DB code for respective table
}

等等..

任何想法或帮助将不胜感激! 谢谢!

【问题讨论】:

    标签: c# asp.net ajax gridview tabpanel


    【解决方案1】:

    你正在做的事情会奏效。如果您创建一个以 GridView 作为参数的添加功能和编辑功能。比如:

    protected void Edit(GridView grid)
    protected void Add(GridView grid)
    

    然后在您的按钮单击功能中,您执行以下操作:

    If (selectedTab = 1) {
           Edit(GridView1);  
    }
    
    else if (selectedTab= 2) {
           Edit(GridView2);
    }
    

    【讨论】:

    • 当我定义方法时,里面的代码不应该是通用的吗?我将在哪里定义他们的查询。每张桌子都不同。
    • 如果您的每个表都有不同的查询,您将不想使用通用函数。对此很抱歉,但是您的原始方法应该可以工作,因为每个 Grid 视图不需要单独的按钮,您只需要 on_clikced 函数来为您当前的 selectedTab 执行正确的查询
    • 我正在尝试使用 'TabContainer1.ActiveTab.Equals(1){}' 你认为它会起作用吗?我认为应该..
    • ok 使用这个:if(TabContainer1.ActiveTabIndex == 1){ //second tab } 谢谢你的帮助 :)
    猜你喜欢
    • 1970-01-01
    • 2012-11-14
    • 1970-01-01
    • 2015-06-23
    • 1970-01-01
    • 2017-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多