怎么修改gridview元素的高度自适应填满gridview-Android开发问答

 我来答
匿名用户
推荐于2016-03-13
展开全部
在WEB程序的ASP页面中,都不建议使用该方法进行对数据的操作!为什么呢?那为什么现在极大多网站都没有采用你这种方式来进行数据操作呢?是别人没有想到?还是担心这样操作会对页面造成额外的开销?提主,你有想过这个问题吗?
我是见过有grid的网站中,是没有一个像你这样操作页面。通常都是获取当中一行的ID或可以获得对应数据的字段,再去查询一下数据库,再将数据返回到一个Table中对应的控件!

下面是一个简单的GRIDVIEW代码:
页面代码:
<div>
<asp:GridView ID="gvTest" runat="server">
<Columns>
<asp:BoundField DataField="customerID" Visible="False" />
<asp:BoundField DataField="customerName" HeaderText="名称" />
<asp:BoundField DataField="customerSex" HeaderText="性别" />
<asp:TemplateField HeaderText="操作">
<ItemTemplate>
<asp:LinkButton ID="lbtnUpdate" CommandArgument='<%# DataBinder.Eval(Container.DataItem,"customerID") %>'
runat="server" Text="Update" OnClick="lbtnUpdate_Click"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
<br />
<div>
<table align="center">
<tr>
<td>
名称:</td>
<td>
<asp:TextBox ID="txtCustName" runat="server"></asp:TextBox></td>
</tr>
<tr>
<td>
性别:</td>
<td>
<asp:TextBox ID="txtCustSex" runat="server"></asp:TextBox></td>
</tr>
<tr>
<td colspan="2">
<asp:Button ID="btnUpdate" runat="server" Text="修改" Visible="false" OnClick="btnUpdate_Click" />
<asp:Button ID="btnCancel" runat="server" Text="取消" Visible="false" OnClick="btnCancel_Click" />
</td>
</tr>
</table>
</div>
<input type="hidden" id="txtCustID" runat="server" />

如下为后台代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindGrid();
}
}
//绑定Grid
private void BindGrid()
{
string strCmd = "select * from CUSTOMERS";
//getDataSet函数通过一个SQL语句取得一个DataSet
DataSet ds = getDataSet(strCmd);
gvTest.DataSource = ds;
gvTest.DataBind();
}

//LinkButton事件,得到相关客户信息
protected void lbtnUpdate_Click(object sender, EventArgs e)
{
LinkButton lbtnTemp = sender as LinkButton;
//取得保存在LinkButton的CommandArgument的ID值.
string custID = lbtnTemp.CommandArgument;
txtCustID.Value = custID;

string strCmd = string.Format("select * from CUSTOMERS where customerID = {0}", custID);
DataSet ds = getDataSet(strCmd);

//通过ID查询出来的客户信息赋给对应的控件
txtCustName.Text = ds.Tables[0].Rows[0]["customerName"].ToString();
txtCustSex.Text = ds.Tables[0].Rows[0]["customerSex"].ToString();
//打开修改和取消按钮
btnCancel.Visible = true;
btnUpdate.Visible = true;
}

//修改
protected void btnUpdate_Click(object sender, EventArgs e)
{
string strCmd = "update CUSTOMERS set customerName='{0}',customerSex='{1}' where customerID={2}";
strCmd = string.Format(strCmd, txtCustName.Text, txtCustSex.Text, txtCustID.Value);

//ExecuteNon为执行修改的函数
int count = ExecuteNon(strCmd);
//屏蔽两个按钮
btnCancel.Visible = false;
btnUpdate.Visible = false;
}

//取消
protected void btnCancel_Click(object sender, EventArgs e)
{
//清空或还原Table中的控件
txtCustName.Text = "";
txtCustSex.Text = "";
btnCancel.Visible = false;
btnUpdate.Visible = false;
}

注:
上面代码中我没有写连接或Command什么的,我觉得你会这些了.再加上上面的代码只是带给你一种意识,供你参考!事例写得好潦草,只供参考,不推荐使用这样的编码方式!
千锋教育
2018-07-25 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部
Android GridView的高度自适应有两种方式实现:
1.layout 布局文件中设置固定的高度
android:layout_height = "20dp"
2.继承GridView,重写onMeasure方法
@Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式